Node.JS有synchronous versions用于文件操作:
fs.writeFileSync(file, data, ...)
根据this blog,底层OS调用仍然是异步的(用DTrace验证),所有同步版本都是“阻止事件循环”。
阻止事件循环(故意)是什么意思?是连续的setImmediate()还是更低级别的东西?
答案 0 :(得分:1)
阻止事件循环(故意)是什么意思?
这只是意味着v8在等待IO完成时不会运行任何用户空间的javascript代码。通常v8会在等待IO时执行javascript,包括你的javascript和你的应用程序正在使用的任何库,但在这种情况下它不会。想到它的一种方法是在IO发生时暂停整个程序,而通常程序继续执行。