8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

在同一个套接字上并行调用 send/recv 是否有效?

bhito 2月前

65 0

我们可以在同一个套接字上从一个线程调用发送并从另一个线程调用接收吗?我们可以在同一个套接字上从不同的线程并行调用多个发送吗?我知道一个好的设计应该避免这种情况......

  1. 我们可以在同一套接字上从一个线程调用 send 并从另一个线程调用 recv 吗?
  2. 我们可以从同一个套接字上的不同线程并行调用多个发送吗?

我知道一个好的设计应该避免这种情况,但我不清楚这些系统 API 将如何表现。我找不到关于此问题的良好文档。

任何方向的指示都会有帮助。

帖子版权声明 1、本帖标题:在同一个套接字上并行调用 send/recv 是否有效?
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由bhito在本站《sockets》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 我看不出并行接收如何能完成任何事情。如果您有一条 3 字节的消息,那么 1 个线程可以获取前 2 个字节,另一个线程可以获取最后一个字节,但您无法分辨哪个是哪个。除非您的消息只有一个字节长,否则您无法通过多个线程接收来可靠地完成任何事情。

    则多次发送 可能会 有效,但我不确定。有可能一个消息会覆盖另一个消息。这样做肯定不会带来任何性能上的好处。

    如果需要多个线程发送,则应实现同步消息队列。让一个线程执行实际发送操作,从队列中读取消息,让其他线程将整个消息入队。接收操作也同样有效,但接收线程必须知道消息的格式,以便能够正确地反序列化它们。

返回
作者最近主题: