JavaScript Atomics 对象
-
Atomics
-
Atomics对象提供了一组静态方法对SharedArrayBuffer和ArrayBuffer对象进行原子操作。描述这些原子操作属于Atomics模块。与一般的全局对象不同,Atomics不是构造函数,因此不能使用 new 操作符调用,也不能将其当作函数直接调用。Atomics的所有属性和方法都是
-
Atomics.load()
-
静态方法Atomics.load()返回一个数组当中给定位置的值。尝试一下语法Atomics.load(typedArray, index)参数typedArray一个共享的整型数组。可以是Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array或
-
Atomics.store()
-
静态的 Atomics.store()方法将给定的值存储在数组中的指定位置,并返回该值。尝试一下语法Atomics.store(typedArray, index, value)参数typedArray一个指定类型的 shared 数组。类型为Int8Array,Uint8Array,Int16Ar
-
Atomics.add()
-
Atomics.add()静态方法会将给定的值加到数组里的某个特定位置上,并返回该位置的旧值。此原子操作保证在写上修改的值之前不会发生其他写操作。尝试一下语法Atomics.add(typedArray, index, value)参数typedArray一个共享的整型 typed array。例如
-
Atomics.sub()
-
Atomics.sub()静态方法在数组中的给定位置减去给定值,并返回该位置的旧值。这个原子操作保证在修改后的值被写回之前不会发生其他写操作。尝试一下语法Atomics.sub(typedArray, index, value)参数typedArray一个共享的整型 typed array。例如In
-
Atomics.exchange()
-
Experimental:这是一个实验中的功能此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。Atomics.exchange()静态方法会用给定的值替换掉数组上的值
-
Atomics.compareExchange()
-
Experimental:这是一个实验中的功能此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。Atomics.compareExchange()静态方法会在数组的值与
-
Atomics.isLockFree()
-
Experimental:这是一个实验中的功能此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。静态方法Atomics.isLockFree()用于校验是否能够使用原子
-
Atomics.notify()
-
静态方法Atomics.notify()提醒一些在等待队列中休眠的代理。备注:本操作仅在共享的Int32Array下可用。语法Atomics.notify(typedArray, index, count)参数typedArray一个共享的Int32Array。indextypedArray中要唤醒
-
Atomics.wait()
-
静态方法Atomics.wait()确保了一个在Int32Array数组中给定位置的值没有发生变化、仍然是给定的值时进程将会睡眠,直到被唤醒或超时。该方法返回一个字符串,值为"ok","not-equal",或"timed-out"之一。备注:这项操作仅允许同一个共享内存的Int32Array配合使
-
Atomics.waitAsync()
-
静态Atomics.waitAsync()方法在共享内存位置上异步等待,并返回Promise。与Atomics.wait(),waitAsync是非阻塞的,可以在主线程上使用注意:此操作仅适用于共享的Int32Array或BigInt64Array。语法Atomics.waitAsync(typed
-
Atomics.and()
-
Experimental: 这是一个实验中的功能此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。Atomics.and() 静态方法会将给定的值与数组上的值进行按位与
-
Atomics.or()
-
静态方法 Atomics.or() 用数组中指定位置的值进行一次按位或运算,并返回未计算时数组中指定位置处的值。这个 atomic 操作保证了在修改后的值被写回之前没有其它的写入操作发生。尝试一下SyntaxAtomics.or(typedArray, index, value)参数typedArr
-
Atomics.xor()
-
Atomics.xor() 静态方法会在数组中给定位置进行一次按位异或操作,并返回该位置的旧值。这个原子操作保证在修改后的值被写回之前不会发生其他写操作。尝试一下语法Atomics.xor(typedArray, index, value)参数typedArray一个共享的整型 typed arra