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

我理解应该是全双工的,input和output是互不影响的,不会有锁之类的?请大神们解答下,谢谢!

我理解应该是全双工的,input和output是互不影响的,不会有锁之类的?请大神们解答下,谢谢!

慕侠2389804 2022-10-30 10:06:59
java socket 一个socket多线程收发消息和两个socket多线程一个socket负责发消息,另外一个负责收消息。这两种方式哪个效率高?另外NIO和阻塞式IO(socket)收发双工?
查看完整描述

1 回答

?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

用两个线程,一发,一收,看上去挺好,实际上增加了连接数开销与程序的复杂度。很少有人这么是用。
socket 多采用 一问,一答方式,例如http 协议
发送:get /index.html
接受:html 页面内容。
所以一个连接足够了。没有必要使用2个线程。因为你发送get /index.html 的时候另一个仍然处在Sleep 状态,只有server收到get /index.html 才会发送数据。
这些交给 epoll 去处理吧,你不要操心。

查看完整回答
反对 回复 2022-11-01
  • 1 回答
  • 0 关注
  • 88 浏览
慕课专栏
更多

添加回答

举报

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