神通同步库
导言
许多 Java 脚本 或者说 类型脚本 开发者即使应该,对同步也没有多少想法. 虽然是真的 在 Java 脚本中 节点.js 或者在网络上是单行道, 每当一个同步函数调用, 在把控制权交回给您之前, 可能会执行其他的指令.
这个库包含一套古典的高质量同步原始,可用于保护批判 代码中的章节.
这是写在 类型脚本 (这意味着它提供了极好的 IDE/editor 支持出框)并下编为
ES5,所以它在 节点.js 或任何网页浏览器(a) Promise 但可能需要多填充).
关于公平
这个库中大多数同步原始人都有"公平"对应,这需要服务员提供ID 符号 。 服务员不是按FIFO的顺序被唤醒的,而是按这样的方式,在服务员面前处理每个身份证 一个重复的ID.
提供原始资料
本节列出由此库提供的同步原始.
DDRQueue
虽然不是个古典的原始人,但根据报纸来说,这是很公平的排队 高效的公平排队 圆-罗宾或多或少只是一个 类型脚本 重写马特·拉文 错误- 公正- 排队。 。 。 .
这个队列是同步原始的所有"公平"变体的基础.
Queue 财务报告和审定财务报表 FairQueue
屏蔽队列( 严格 FIFO, 或公平) .
Condition 财务报告和审定财务报表 FairCondition
条件可变执行 notify(), (中文(简体) ), notifyAll 财务报告和审定财务报表 wait() 方法。 。 .
Signal 财务报告和审定财务报表 FairSignal
条件变量的一个微不足道的扩展,允许一个值传递给服务员.
页:1数字 : 别误会这个 Pub/Sub 软件 原始的 原始的 原始的! 虽然可能,但很难使用这两个 原始的作为事件发送器而不丢失消息. 见下文.
PubSub 财务报告和审定财务报表 FairPubSub
A 类 Pub/Sub 软件 原始的,具有可配置的能力,阻断出版和基于生成器的订阅,适合
用于 a for await- 滚.
Semaphore 财务报告和审定财务报表 FairSemaphore
一个古典的 semaphore 可以被信号和等待。 也有一个无阻 take() 可用方法.
Mutex 财务报告和审定财务报表 FairMutex
只是一个semaphore初始化为1,并有更合适的方法名称.
Barrier, (中文(简体) ), Lightswitch 财务报告和审定财务报表 ReadWriteLock
一些额外的原始人 或多或少从逐字记录 小书 司马发 艾伦・B・多尼。 这些没有公平的变种.