詳解bio與nio

網上很多拿bio和nio對比通信協議快慢的,然後說nio有多快;凡是這麼說的都是對協議的連接環境和需求不明確和不理解的。我先問個問題,http只是短鏈接麼,get請求真的不能攜帶數據麼?我很負責的告訴你http可以長連接,get請求也可以攜帶數據;問題市http長連接沒有意義,因爲它是單通(單工),get請求的數據被忽略而已,類似不成文的規矩;我寫底層時依然可以接收get攜帶數據請求。

回正題bio模式處理http短鏈接合適麼,不合適啊,相當於你拿水杯喝水不放下;一共2隻手第三個水杯自然拿不起來了。bio適合長連接雙通(雙工)的通訊模式;類似語音通話,雙方隨時說隨時聽。一個人拿不過來就多派人被,相當於分佈式部署進行負載均衡,長連接本身就是高併發的模式;因爲它沒斷過,不需要代碼進行反覆的初始化過程。

nio適合短鏈接,單通(單工),我處理完就關閉,不需要掛載着,因爲掛載着我也收不到你的消息。沒有意義,那有人說我配置高,就喜歡浪費資源,我佩服你的豪橫。短鏈接的特性就是發送一個請求的消息,發過去就可以了;有消息我在發就可以了,不需要等待對方的消息。

所以無論是bio的設計模式和nio的設計模式我們不能只看表面的快,太客觀了。文章很短,但是很全面。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章