为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
DIEA 2021-04-09 15:08:15
...用于多线程网络服务器。我想在多个线程之间传递数据。目前,我正在使用套接字,主线程阻塞在select()上,而工作线程阻塞在recv()上,尽管我觉得可能有更高级或预包装的方式来处理C ++中的此任务。
查看完整描述

3 回答

?
森林海

TA贡献2011条经验 获得超2个赞

我会让工作线程在线程池中等待。

然后主机等待选择(用于读取和写入)。

随着数据的到来,主服务器将作业添加到线程池中。添加每个作业后,线程将唤醒以执行该作业并返回到池中。这样,您就不会使用recv()阻止线程在特定端口上等待,并且固定的子线程集可以处理所有传入流量。

在现成的对象中支持此功能的Currentl库:

  • ACE:http://www.cs.wustl.edu/~schmidt/ACE.html

  • Poco:http://pocoproject.org/


查看完整回答
反对 回复 2021-04-26
?
繁华开满天机

TA贡献1816条经验 获得超4个赞

您可以尝试ACE库,该库附带了特别适合线程间通信的管道和消息队列。

** ACE代表自适应通信环境*



查看完整回答
反对 回复 2021-04-26
  • 3 回答
  • 0 关注
  • 162 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信