java socket 一個socket多線程收發(fā)消息和兩個socket多線程一個socket負責發(fā)消息,另外一個負責收消息。這兩種方式哪個效率高?另外NIO和阻塞式IO(socket)收發(fā)雙工?
1 回答

拉莫斯之舞
TA貢獻1820條經(jīng)驗 獲得超10個贊
用兩個線程,一發(fā),一收,看上去挺好,實際上增加了連接數(shù)開銷與程序的復雜度。很少有人這么是用。
socket 多采用 一問,一答方式,例如http 協(xié)議
發(fā)送:get /index.html
接受:html 頁面內(nèi)容。
所以一個連接足夠了。沒有必要使用2個線程。因為你發(fā)送get /index.html 的時候另一個仍然處在Sleep 狀態(tài),只有server收到get /index.html 才會發(fā)送數(shù)據(jù)。
這些交給 epoll 去處理吧,你不要操心。
添加回答
舉報
0/150
提交
取消