gpt4 book ai didi

node.js - 并发如何在 nodejs 中工作?

转载 作者:行者123 更新时间:2023-12-04 03:15:15 24 4
gpt4 key购买 nike

我试图了解并发在像 nodejs 这样的单线程环境中是如何工作的。

假设我有这个代码:

var fs = require('fs');

fs.readFile('file1', function one(err, data) {
// some code...
});

fs.readFile('/file2', function two(err, data) {
// some code...
});

现在每个 fs.readFile调用是异步的。因此,它们同时运行。但是如果这一切都发生在一个线程中,那么并发是如何实现的呢?是 function onefunction two在相同或不同的线程上运行?

基本上,node.js 是如何处理并发的?

最佳答案

就 Node 而言,只有一个线程。异步调用被放入事件队列并且只在下一个滴答声中运行。

对于 Node 传递给 C++ 的代码,所有的赌注都没有了。那里可能有也可能没有线程。但这并不会真正影响到你。

对我来说最有效的解释是"What the heck is the event loop anyway?" by Philip Roberts因为他展示的慢动作可视化工具让一切都变得非常清晰(无论如何对我来说)。

你可以用 Philip 的工具 Loupe 进行实验在线的。

关于node.js - 并发如何在 nodejs 中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29977049/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com