我产生了许多进程,我需要每个进程等待输入。为每个进程创建一个命名管道是一个好主意吗?还是我应该考虑其他同步方式?

我可以肯定地知道,为每个单独的进程创建一个普通文件将是非常糟糕的,因为这些进程会因硬盘速度而减慢。但是命名管道在这方面如何比较?它们像信号一样快,还是像普通文件一样慢?

最佳答案

命名管道只是内存缓冲区中的文件系统条目,因此访问应足够快。

除非您证明它是瓶颈,否则我不会避免使用真实文件。由于操作系统会尝试在内存中缓冲对文件的小写操作,直到尝试读取文件或缓冲区写满为止,由于硬盘的速度,您可能不会遇到任何I / O延迟。

关于shell - 命名管道(fifo)的价格是多少?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25721631/

10-08 23:07