【发布时间】:2013-01-24 01:06:02
【问题描述】:
假设您将一个单一的 Windows 程序拆分为可重用的组件,这些组件可以使用某种inter-process communication (IPC) 相互通信,并且无论出于何种原因,您都选择匿名管道(例如,启动多个 Process- es 并将 Console.Out 连接到下一个进程的 Console.In,或者只是在命令提示符下使用“|”)。
Dobbs 博士的一篇文章,带有一个示例 with named pipes:
与同一台机器中的其他 IPC 方法相比,性能损失是多少?当增加进程数量或传输的数据量时,首先遇到的问题是什么?
例如如果我们使用文件而不是管道,我们会遇到锁定问题和磁盘速度问题。
请注意,必须序列化正在传输的数据结构已经存在开销,这是我的效率损失基线。
PS。对管道的兴趣是因为它们很容易在每个进程(Console.Readline、Console.WriteLine)中实现,很容易为它们编写 MSMQ 和异步 HTTP 接口,以及对 Unix 和命令行的热爱。
【问题讨论】:
标签: windows scalability pipe