11. [ ` Atomics.wait() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/wait)
    12. [ ` Atomics.waitAsync() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/waitAsync)
    13. [ ` Atomics.xor() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/xor)
  4. Inheritance 
  5. [ ` Object ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)
  6. Properties 
    1. [ ` Object.prototype.constructor ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/constructor)
    2. [ ` Object.prototype.__proto__ ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/proto) Deprecated 
  7. Methods 
    1. [ ` Object.prototype.__defineGetter__() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/__defineGetter__) Deprecated 
    2. [ ` Object.prototype.__defineSetter__() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/__defineSetter__) Deprecated 
    3. [ ` Object.prototype.__lookupGetter__() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/__lookupGetter__) Deprecated 
    4. [ ` Object.prototype.__lookupSetter__() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/__lookupSetter__) Deprecated 
    5. [ ` Object.prototype.hasOwnProperty() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwnProperty)
    6. [ ` Object.prototype.isPrototypeOf() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isPrototypeOf)
    7. [ ` Object.prototype.propertyIsEnumerable() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/propertyIsEnumerable)
    8. [ ` Object.prototype.toLocaleString() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toLocaleString)
    9. [ ` Object.prototype.toString() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toString)
    10. [ ` Object.prototype.valueOf() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/valueOf)

##  In this article

  * Description 
  * Static properties 
  * Static methods 
  * Examples 
  * Specifications 
  * Browser compatibility 
  * See also 

#  Atomics

The **` Atomics ` ** namespace object contains static methods for carrying out
atomic operations. They are used with [ ` SharedArrayBuffer ` ](/en-
US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer) and [ `
ArrayBuffer ` ](/en-
US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer) objects.

##  Description

Unlike most global objects, ` Atomics ` is not a constructor. You cannot use
it with the [ ` new ` operator ](/en-
US/docs/Web/JavaScript/Reference/Operators/new) or invoke the ` Atomics `
object as a function. All properties and methods of ` Atomics ` are static
(just like the [ ` Math ` ](/en-
US/docs/Web/JavaScript/Reference/Global_Objects/Math) object).

###  Atomic operations

When memory is shared, multiple threads can read and write the same data in
memory. Atomic operations make sure that predictable values are written and
read, that operations are finished before the next operation starts and that
operations are not interrupted.

###  Wait and notify

The ` wait() ` and ` notify() ` methods are modeled on Linux futexes ("fast
user-space mutex") and provide ways for waiting until a certain condition
becomes true and are typically used as blocking constructs.

##  Static properties

` Atomics[@@toStringTag] `

    

The initial value of the [ ` @@toStringTag ` ](/en-
US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/toStringTag) property
is the string ` "Atomics" ` . This property is used in [ `
Object.prototype.toString() ` ](/en-
US/docs/Web/JavaScript/Reference/Global_Objects/Object/toString) .

##  Static methods

[ ` Atomics.add() ` ](/en-
US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/add)

    

Adds the provided value to the existing value at the specified index of the
array. Returns the old value at that index.

[ ` Atomics.and() ` ](/en-
US/docs/Web/JavaScript/Reference/Global_Objects/Atom