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

java socket 一个socket多线程收发消息和两个socket多线程一个socket负责发消息,另外一个负责收消息。这两种方式哪个效率高?
另外NIO和阻塞式IO(socket)收发双工?

慕侠2389804
浏览 94回答 1
1回答

拉莫斯之舞

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

相关分类

Java
MySQL