异步与同步的控制台

console 函数通常是异步的,除非目标对象是一个文件。带有高速磁盘的操作系统通常采用回写缓存;写入阻塞应该是一个非常罕见的情况,但它确实有可能发生。

此外,作为对 MAC OS X 中极小的(1kb)的缓存大小限制的一种解决方案,在 MAC OS X 上输出到 TTY(终端)时,控制台功能会遭到阻塞。这是为了防止 stdoutstderr 交叉在一起。