我正在学习 Nodejs 的优缺点来制作我的新项目。我仍然不清楚一个疑问,即回调函数中的代码是同步的还是线程安全的?
我知道nodejs正在使用单线程及其在回调函数内的其他进程中的切换执行。但是,如果第一个回调请求需要时间,而第二个请求包含不同的数据,那么它会造成严重破坏吗?
如果它的线程安全意味着每次它在回调函数中创建新线程?
最佳答案
您不必担心 JavaScript 代码中的线程安全和类似问题。所有的 javascript 都在主线程上执行。事实上,node 中的几乎所有操作都发生在同一个主线程上(除了少数任务,如 DNS 和文件 I/O,它们使用 libuv 中的线程池,但这些任务都通过队列回发到主线程,当主线程到达事件循环结束时读取)。
但是,从技术上讲,其他问题(例如竞争条件)可能仍然会出现在 JavaScript 中,但根据我的经验,这种情况并不常见。
关于javascript - nodejs回调代码已同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30467675/