标题有点绕,举个例子: 内存中有个数组,A B线程同时要对其修改。 在java中处理很简单,加个锁即可:synchronized(array){…} ,这样就能保证1个时间只有一个线程在修改这个数据; nodejs中如何实现类似情况呢?
9 回复
@malphi NodeJS是event loop加异步I/O来实现IO高并发的,Node.js keeps a single thread for your code… (http://blog.csdn.net/macyang/article/details/6746317) ,我们的业务逻辑代码永远只会在同一个不变的线程里执行,不需要考虑内存同步。1写,2读,不会出现func1执行到一部分然后线程又去执行func2的,而是每个function独立执行完成。