
nodejs 单线程是不需要考虑资源同步吗?
最简单的一个例子(因为 nodejs 是基于事件的):
触发事件 A 的时候:
if(someArray.length == 2)
do something;
触发事件 B 的时候:
someArray.push(o);
假如某个时候,几乎同时触发事件 A 和 B :
结果 1 ):完全执行完某个事件的代码,再执行另一个事件
结果 2 ):资源不同步。。
求解……谢谢各位。
1 dqh3000 2015 年 12 月 13 日 单线程 结果 1 |
2 chemzqm 2015 年 12 月 13 日 除非你用 cluster ,否则事件只可能一个接一个执行, event loop 就这么简单 |
3 whimsySun 2015 年 12 月 13 日 不可能存在这个问题咯 |
4 indexof 2015 年 12 月 13 日 单线程,就意味着,一个时刻只做一件事。也就是说每次只执行一个函数。 |
5 will0404 2015 年 12 月 14 日 via iPhone 是一个接一个执行的 如果你需要严格的执行顺序 那就用回调嵌套 |