Node 进程互斥锁模块 – lockman

Node进程互斥锁,lockman,进程锁

这是我在网上找到的一个node模块,用在thinkjs开发框架中的多进程项目中的工作进程中,失败。表现是,在locker.acquire的回调函数中使用console.log(‘…’),有时不打印,有时会打印几百上千条,没搞明白,也许是与作者的开发环境有差异?也许是年代久远(2017-01-07最后一次更新)?

不知不知……

介绍

lockman 是一个用于多进程的「互斥锁」, 类似一些语言中(比如 C#)的 lock 关键字可以用来确保代码块完成运行,而不会被其他进程「影响」。
它可以把一段代码定义为「互斥段」(critical section),「互斥段」在一个时刻内只允许一个进程进入执行,
而其他进程必须等待。

不同之处,C# 的 lock 关键字作用在「线程间」,lockman 作用在 Node 的进程间。

安装

示例

Git Repo: https://github.com/Houfeng/lockman

nodejs中的单进程异步锁——async-lock