我在Windows上使用命名管道,使用C++。
服务器通过CreateNamedPipe创建一个命名管道实例,并等待客户端通过ConnectNamedPipe进行连接。
客户端每次调用CreateFile来访问命名管道时,服务器都会使用CreateThread创建一个线程来为该客户端提供服务。在这之后,服务器再次循环,通过创建一个CreateNamedPipe时管道实例并通过ConnectNamedPipe监听下一个客户端,等...
问题:
每个客户端请求触发服务器上的CreateThread。如果客户快速而激烈地出现,会有很多对CreateThread的调用。
问题:
Q1:是否有可能重新使用已经创建的线程来服务未来的客户端请求? 如果这是可能的,我应该怎么做?
Q2:线程池会在这种情况下提供帮助吗?
感谢您的建议 - I/O完成端口看起来很有前途。我会读更多关于它。 (我的目标是XP及以上)。 – moog 2010-08-12 08:06:22