|
|
1
3
使用zookeeper或异步锁 https://www.npmjs.com/package/async-lock 是的。你最不想要的是比赛条件。 |
|
|
2
2
一个简单但可能不如锁解决方案的数据库事务。一旦第一个工人接受作业,它将在数据库中添加一个标志。第二个工作进程本可以启动数据库事务,但由于上一个工作进程设置的标志,最终无法完成该进程。然后回滚整个事务。 |
|
|
3
0
如果你不使用锁,你不能排除这种可能性。 节点可能是单线程的 现在 (它不是),它可能在进入下一个用户之前为一个用户提供服务(IIRC没有),但是如果您在文档中找不到它,那么它根本就不能保证。升级总是有可能改变它的工作方式。 然而,有一个解决办法。如果有一个语言特性可以保证一个资源在被锁定时会被其他实例锁定和不可用,那么它将为您提供所需的保证。 |
|
|
ron burgundy · 获取-释放语义是否跨线程传递?[副本] 1 年前 |
|
|
H3007 · 并发运行python子进程似乎不是并发的 1 年前 |
|
|
The Oddler · TVar会阻止读取直到更改吗? 1 年前 |
|
|
Wang Tuma · 使用信号量的c++并发问题:按顺序打印 2 年前 |
|
|
Marcel Batista · 在不同线程中更新密钥时的字典线程安全 2 年前 |
|
|
rico · 当volatile关键字真的是必要的? 2 年前 |