0

TaffyDb 和 nodejs 中是否存在竞争条件?例如:使用 require('net') 与 node.js 的 100 个并发连接 可靠数据读取依赖于变量 Dbman(example) 锁:不被读取时为 0,被读取时为 1。如果在要设置锁之前调用 2 次读取,数据是否会被读取并因此损坏?

4

1 回答 1

1

Node.js 程序是 JavaScript 程序,因此没有多线程。

每个函数都从单个调度循环线程运行,因此如果将变量设置为特定值,则可以保证在该函数调用的整个执行过程中保持该值。

当单个函数正在执行时,没有其他函数可以运行,因此您正在考虑的竞争条件是不可能的。

于 2015-02-10T22:00:58.133 回答