nodejs数据结构是否通过devise是线程安全的?

阅读一个node.js相关的web文档,它是一个单线程的服务器。 所以它让我困惑,是否所有的数据结构默认在线程安全的节点服务器!

我有多个callback访问像这样的全局对象:

callback1{ global_var['key'] = val; } callback2{ globalv_var['key'] = val; } 

“钥匙”有时可能相同,也可能不同。 global_var会是线程安全的吗? callback,如所预期的那样被callback,并在什么时候完成,没有特定的顺序。

您为node.js applocation编写的所有JavaScript都像在单个线程中一样运行。

任何multithreading都发生在幕后,I / O代码和其他本机模块中。 因此,无论如何,都不必担心任何应用程序代码的线程安全性。

Node.JS包含一个“调度程序”。 它接受Web请求并将其交给asynchronous处理。 该调度程序是单线程的。 但是调度程序为每个任务创build一个新的线程,并迅速将任务交给新线程,释放调度程序的线程以处理新的请求。

如果这些任务线程保持独立的(即它们不会修改彼此的状态),那么它们是线程安全的。