【发布时间】:2012-03-07 16:28:46
【问题描述】:
一个正在写入管道的进程能否判断一个读取器(在不同的进程中)何时因为试图从管道中读取而管道当前为空而阻塞?
如果使用管道无法做到这一点,是否可以使用其他形式的 IPC?
我怀疑答案是否定的,但我想我还是会问。
这种情况的用例是仅在读取器真正需要数据时才写入管道。
【问题讨论】:
-
管道有一个大小(例如 Linux 上的 64Kb)。一旦你填充了一个管道,写入器就会阻塞,所以当不需要数据时它不会写入。
-
这个问题的重点是,除非需要数据,否则我什至不想填充管道。