Python 中的print
语句不是线程安全的。在 Node.js 中同时使用 console.log
是否安全?
如果是这样,那么它也是交错安全的吗?也就是说,如果多个(甚至数百个)回调写入控制台,我能确定输出不会被破坏或交错吗?
查看源代码,似乎 Node.js 将并发写入流的尝试排队(here)。另一方面,console.log
的 substitution flags come from printf(3)
.如果 console.log
环绕 printf
,那么它可以在 POSIX 机器上交错输出 (as shown here)。
请告诉我 async ._write(chunk, encoding, cb)
is implemented 在哪里在您对这个问题的回答中的 Node.js 内部。
编辑:如果可以同时写入一个流,那么为什么 this npm package存在吗?
最佳答案
node.js 中的一切基本上都是“原子的”。那是因为 node.js 是单线程的——任何代码都不会被中断。
关于javascript - console.log 是原子的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38863627/