\
…用于多线程网络服务器。
我想在多个线程之间传递数据。目前,我正在使用套接字,主线程阻塞在select()上,而工作线程阻塞在recv()上,尽管我觉得可能有更高级或预包装的方式来处理C++中的此任务。
我会让工作线程在线程池中等待。
然后主机等待选择(用于读取和写入)。
随着数据的到来,主服务器将作业添加到线程池中。添加每个作业后,线程将唤醒以执行该作业并返回到池中。这样,您就不会使用recv()阻止线程在特定端口上等待,并且固定的子线程集可以处理所有传入流量。
在现成的对象中支持此功能的Currentl库: