shell - 命名管道(fifo)有多贵?

标签 shell synchronization named-pipes children

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

我确信为每个单独的进程制作一个普通文件会非常糟糕,因为进程会因硬盘而变慢。但是命名管道在这方面如何比较呢?它们和信号一样快还是和普通文件一样慢?

最佳答案

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

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

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

相关文章:

linux - 在不重启 Ubuntu 的情况下全局设置环境变量

time - 网络时间协议(protocol)如何工作?

ios - 如何同步 iOS 类对象 (Swift/iOS 9)

linux - 是否可以在 Linux 上更改命名管道的大小?

c++ - 为 Intranet 主机创建 C++ 命名管道

bash - 如何在CloudFormation中传入UserData作为参数

linux - 无法统计,没有这样的文件或目录 linux

r - 在 Mac 上自动化 R 脚本

synchronization - 同步 channel ?

c# - 什么可能导致本地 WCF 命名管道上的 EndpointNotFoundException?