Atomics.wait()

简介: Atomics.wait()

MDN文档

注意: 这项操作仅允许同一个共享内存的 Int32Array 配合使用并且无法运行在主线程中。


静态方法 Atomics.wait() 确保了一个在 Int32Array 数组中给定位置的值没有发生变化、仍然是给定的值时进程将会睡眠,直到被唤醒或超时。该方法返回一个字符串,值为 "ok" , "not-equal" , 或 "timed-out" 之一。


语法

Atomics.wait(typedArray, index, value[, timeout])


参数:

  • typedArray
    一个共享内存的 Uint32Array 数组。
  • index
    给定需要检测的 typedArray 数组的位置索引。
  • value
    给定需要检测的位置索引的预期值。
  • timeout(可选)
    超时前等待的毫秒数Infinity , 如未提供该参数,将为无穷大。


返回值:

一个 String 字符串,值为 "ok" , "not-equal" , 或 "timed-out" 三种之一。


错误:

  • 如果参数 typedArray 不是一个共享内存的 Int32Array 数组,将会抛出一个 TypeError
  • 如果 index 超出了 typedArray 的边界,则抛出 RangeError


示例

由于涉及到线程,js中写起来比较繁琐,敬请期待。

目录
相关文章
|
1月前
|
API
wait-nofity
wait-nofity
19 0
|
9月前
|
SQL 关系型数据库 MySQL
Lock wait timeout exceeded; try restarting transaction解决方案
在测试程序时,打的断点怎么都跳不进去,console一直报 “Lock wait timeout exceeded; try restarting transaction”
299 0
|
JavaScript 索引
Atomics.notify()
Atomics.notify()
94 0
|
索引
Atomics.compareExchange()
Atomics.compareExchange()
83 0
|
索引
Atomics.or()
Atomics.or()
41 0
|
索引
Atomics.sub()
Atomics.sub()
40 0
Atomics.isLockFree()
Atomics.isLockFree()
47 0
|
Oracle 关系型数据库 数据库
innodb_lock_wait_timeout参数的了解
前言:在管理ORACLE的工作中,经常发现因为锁等待的原因导致应用宕机了。Mysql考虑到自身的性能和架构等因素,InnoDB数据库引擎增加了参数innodb_lock_wait_timeout,避免在资源有限的情况下产生太多的锁等待; 一、innodb_...
3015 0
|
SQL 关系型数据库 Oracle

热门文章

最新文章