命名管道实例

最简单的管道服务器创建管道的单个实例,连接到单个客户端,与客户端通信,断开与客户端的连接,关闭管道句柄,然后终止。 但是,管道服务器与多个管道客户端通信更为常见。 管道服务器可以使用单个管道实例通过按顺序连接到每个客户端并断开与多个管道客户端的连接,但性能会很差。 管道服务器必须创建多个管道实例,才能有效同时处理多个客户端。

为多个管道实例提供服务有三种基本策略。

多线程管道服务器最容易写入,因为每个实例的线程处理单个管道客户端的通信。 系统根据需要为每个线程分配处理器时间。 但每个线程都使用系统资源,这是处理大量客户端的管道服务器的缺点。

使用单线程服务器可以更轻松地协调影响多个客户端的操作,并且更容易保护共享资源免受多个客户端同时访问。 单线程服务器的挑战在于,它需要协调重叠的操作,以分配处理器时间来处理客户端的并发需求。