python管道(stdin)太快了

时间:2012-02-21 15:34:19

标签: python performance pipe stdin

我有以下问题: 考虑将数据通过管道传输到python脚本并逐行处理。 进入管道的文本行速度非常快(sys.stdin.readline),如果脚本处理的文本行太快,那么会发生什么呢? stdin会按顺序读取行还是最新行?

1 个答案:

答案 0 :(得分:3)

管道由操作系统管理:一个进程写入管道,OS缓冲写入的内容并将其传递给读取进程。如果管道的缓冲区已满,则写入过程的后续写入操作将直接阻塞,直到缓冲区中有足够的空间。

简而言之,操作系统确保不会丢失任何东西,您也不必担心它。