language-agnostic - Windows和Linux中管道之间有何区别?

标签 language-agnostic ipc pipe named-pipes

Windows和Linux中管道之间有何区别?

最佳答案

我知道的一个区别是,Linux下的命名管道是文件系统中的实际条目(您会在目录列表中看到它们的特殊类型),而在Windows上,它们存储在某个神奇的存储库中(它们都可以通过路径“\\。\ pipe \”进行访问。

其次,在Linux中,您可以使用标准文件IO方法,像从其他管道中读取/读取管道一样进行写入/读取。在Windows上,您必须使用Win32 API中特殊的“管道”功能。

我更喜欢linux的方法,因为它使我可以在需要的任何应用程序中使用管道。例如:

mkfifo pipe.wav
decodeMP3 song.mp3 --out pipe.wav &
encodeAVI video.mpeg pipe.wav --out video.avi

这使我可以将MP3解码器的输出直接通过管道传输到视频解码器,而不必先将整个MP3解码为磁盘上的WAV文件。如果您具有双核CPU,这将非常方便,因为这样您可以同时运行两个操作,从而获得不错的速度。

关于language-agnostic - Windows和Linux中管道之间有何区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/192073/

相关文章:

parsing - 手动解析左递归文法的最简单方法是什么?

mysql - 将古吉拉特语文本插入 MySQL 表会导致出现垃圾字符和不可读的文本

c - mq_timedsend() 返回错误 14 "bad address"

tcp - 如何从管道中删除 EOF?或者 : How to use tail -f with netcat?

algorithm - 用常用词监控品牌

language-agnostic - 编码中不可或缺的魔数42的起源是什么?

electron - 如何区分一个ipc主节点(同一 channel )中的两个ipc渲染器

windows - 创建命名管道 C++ Windows

python-3.x - 如何停止在 Python 中的命名管道上阻塞的线程?

c - 在 Unix C 中使用管道