寻找具有与Google Go频道相似功能的C或C ++库

...用于多线程网络服务器。

我想在多个线程之间传递数据。目前,我正在使用套接字,主线程阻塞在select()上,而工作线程阻塞在recv()上,尽管我觉得可能有更高级或预包装的方式来处理C ++中的此任务。


DIEA
浏览 164回答 3
3回答

森林海

我会让工作线程在线程池中等待。然后主机等待选择(用于读取和写入)。随着数据的到来,主服务器将作业添加到线程池中。添加每个作业后,线程将唤醒以执行该作业并返回到池中。这样,您就不会使用recv()阻止线程在特定端口上等待,并且固定的子线程集可以处理所有传入流量。在现成的对象中支持此功能的Currentl库:ACE:http://www.cs.wustl.edu/~schmidt/ACE.htmlPoco:http://pocoproject.org/

繁华开满天机

您可以尝试ACE库,该库附带了特别适合线程间通信的管道和消息队列。** ACE代表自适应通信环境*
打开App,查看更多内容
随时随地看视频慕课网APP