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 去處理吧,你不要操心。
添加回答
舉報
0/150
提交
取消