日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

什么是 Reactor 模式?

作者:暗諾星刻 更新時間: 2022-05-11 編程語言

什么是 Reactor 模式?

??Reactor 模式并不是什么很神秘的東西。一般來說,通信有以下兩個關鍵步驟:一是建立連接,二是進行數據的傳輸。一般對通信過程進行優化,也就是基于這兩個關鍵點進行優化。

??建立連接通常就是 握手 的過程。在向對方傳輸數據之前,必須要經對方同意,這就是握手。如果建立連接就不成功,后面的數據傳輸也不能進行。對于服務端來講,它需要與眾多客戶端通信,建立連接的成功數將影響它的吞吐量。對于服務端,當然是希望它的吞吐量越高越好。我們知道數據傳輸通常相對更耗時,為了避免對建立連接造成影響,最好是讓服務端使用一個與數據傳輸不同的線程來完成建立連接的工作。

??對于服務端來講,它需要與眾多客戶端通信。如果正好需要與多個客戶端同時進行數據傳輸,就只能開啟多個線程來完成,且線程數與連接數相等。如果線程數小于連接數,則有些客戶端需要等待。

??Reactor 模式就是基于建立連接與具體服務之間線程分離的模式。在 Reactor 模式中,會有一個線程(負責與所有客戶端建立連接,這個線程通常稱之為 Reactor。然后在建立連接之后,Reactor 線程會使用其它線程(可以有多個)來處理與每一個客戶端之間的數據傳輸,這個(些)線程通常稱之為 Handler。

??由于服務端需要與多個客戶端通信,它的通信是一對多的關系,所以它需要使用 Reactor 模式。對客戶端,它只需要與服務端通信,它的通信是一對一的關系,所以它不需要使用 Reactor 模式。也就是說,對客戶端來講,它不需要進行建立連接與傳輸數據之間的線程分離。

原文鏈接:https://blog.csdn.net/wangpaiblog/article/details/124580590

欄目分類
最近更新