@divine/synchronization

中文文档
1.2.1发布于 2020/07/31MITTypeScriptCommonJS近 30 天下载 4748

神通同步库

中文使用文档
文档目录11 节
  1. 导言
  2. 关于公平
  3. 提供原始资料
  4. DDRQueue
  5. Queue 财务报告和审定财务报表 FairQueue
  6. Condition 财务报告和审定财务报表 FairCondition
  7. Signal 财务报告和审定财务报表 FairSignal
  8. PubSub 财务报告和审定财务报表 FairPubSub
  9. Semaphore 财务报告和审定财务报表 FairSemaphore
  10. Mutex 财务报告和审定财务报表 FairMutex
  11. Barrier , (中文(简体) ), Lightswitch 财务报告和审定财务报表 ReadWriteLock

神通同步库

npm version Build Status Coverage Status

导言

许多 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・多尼。 这些没有公平的变种.

版本与发布记录

@divine/synchronization 共发布 4 个版本,首次发布于 2018/12/08;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.2.1latest2020/07/316 年前
1.2.02020/07/286 年前
1.1.02020/06/186 年前
1.0.02018/12/087 年前

关于 @divine/synchronization 的常见问题

@divine/synchronization 是什么?

神通同步库

如何安装 @divine/synchronization?

在项目目录运行 npm install @divine/synchronization,或使用 pnpm add / yarn add / bun add。

@divine/synchronization 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@divine/synchronization 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@divine/synchronization 可以商用吗?

@divine/synchronization 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@divine/synchronization 的下载量有多少?

根据 npm 官方下载统计,@divine/synchronization 在 2026/10/13 – 2026/11/11 这 30 天内被下载 4,748 次,日均约 158 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@divine/synchronization 还在维护吗?

最新版本 1.2.1 发布于 2020/07/31(6 年前);至今共发布 4 个版本,其中过去 12 个月发布了 0 个;首次发布于 2018/12/08。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。