【发布时间】:2011-03-28 19:03:08
【问题描述】:
情况:
我正在使用 C++ 在 Windows 上为 IPC 使用命名管道。
服务器通过 CreateNamedPipe 创建命名管道实例,并等待客户端通过 ConnectNamedPipe 连接。
每次客户端调用 CreateFile 来访问命名管道时,服务器都会使用 CreateThread 创建一个线程来为该客户端提供服务。之后,服务器重复循环,通过 CreateNamedPipe 创建一个管道实例并通过 ConnectNamedPipe 监听下一个客户端,等等......
问题:
每个客户端请求都会在服务器上触发一个 CreateThread。如果客户来得又快又猛,就会有很多对 CreateThread 的调用。
问题:
Q1:是否可以重用已经创建的线程来服务未来的客户端请求? 如果可以,我应该怎么做?
Q2:线程池在这种情况下会有帮助吗?
【问题讨论】:
标签: multithreading winapi ipc named-pipes threadpool