多執行緒reactor模型

2021-10-25 04:37:58 字數 450 閱讀 2948

reactor 多執行緒的實現最大的區別是擁有乙個專門用來處理實際i/o 操作是執行緒池

優點:1、擁有乙個acceptor 專門用來監聽請求的i/o 型別

2、使用專門執行緒池可以提高acceptor的併發量,並且可以將同乙個socketchannel 放於同乙個i/o 執行緒處理,同乙個i/o執行緒可以處理多個socketchannel的read/write事件

在大部分場景,該執行緒模型都能處理,但存在這樣一種場景:單個acceptor 執行緒 可能會因為需要監聽大量的 socketchannel 連線 或 i/o事件處理或在建立建立時需要進行安全的握手認證、黑白名單過濾,而導致出現效能瓶頸。所以這種場景下,單獨乙個accceptor 會導致效能不足,便出現了第三種執行緒模型,主從reactor 模型

Reactor執行緒模型

首先要需要說明的是,reactor執行緒模型並不是netty所獨有,其是一種併發程式設計模型,更確切的或者說一種思想,其具有的是指導意義,開發者需要在這種程式設計模型思想的指導下,結合自己的實際場景,來進行合理的設計。在不同的場景下,可能設計出來的reactor執行緒模型是不一樣的,例如scala中...

NIO實現Reactor單執行緒模型

寫這個模型需要提前了解selector以及channel,之前記錄過filechannel,除此之外還有以下幾種channel serversocketchannel 用於監聽新的tcp連線的通道,負責讀取 響應,通常用於服務端的實現。socketchannel 用於發起tcp連線,讀寫網路中的資料...

11執行緒 多執行緒模型

一 什麼是執行緒 為什麼要引入執行緒 二 引入執行緒機制後的變化 三 執行緒有的屬性 四 執行緒的實現方式 五 多執行緒模型 1 執行緒引入原因分析 2 執行緒 可以把執行緒理解為輕量級程序。執行緒是基本的cpu執行單元,也是程式執行流的最小單元。引入執行緒後不僅程序可以併發,程序內的執行緒也可以併...