如果您使用node-fibers在Node.js中运行I/O密集型任务,例如一些异步数据库操作,它会阻塞吗?
我还没有使用node-fibers b/c看起来--如果在处理HTTP请求的代码中使用它,在这个请求中运行一些长长的正常非阻塞的I/O代码--它现在将阻止其他请求访问您的应用程序。这是不是真的?一点关于它为什么是真/假的细节也会很有帮助。
发布于 2012-07-28 19:43:22
纤程允许程序员编写“类似线程”的阻塞语句JavaScript代码。但它的实现不是阻塞的,代码等同于node.js异步事件代码。Laverdets实现会在某个时间点暂停纤程执行,这与异步node.js模型非常相似,并且可以在以后恢复。
纤程更像是语法糖,它们不会改变node.js异步模型。唯一的区别是纤程创建了不同的执行堆栈(如果我是正确的),这对正常的nodejs异步代码来说是一个轻微的开销。
https://stackoverflow.com/questions/11698017
复制相似问题