隊列式

隊列式

在這種模型中,一個偵聽線程負責接受請求,並在某個隊列中緩衝它們。因此接受請求的線程並不是處理請求的線程。在這種模型中,有一個線程是領導者,其餘線程是線程中的跟隨者。

演習方式


一種隊伍的演習方式,一般在進行閱兵時出現較多,按照一定的方式站列,按照相同的步伐前進。

ACE線程池實現方式之隊列式


基本的實現模型
線程池的實現模型主要有兩種:
1、半同步/半非同步模型
在這種模型中,一個偵聽線程負責接受請求,並在某個隊列中緩衝它們。另外一組工作者線程負責處理請求。因此接受請求的線程並不是處理請求的線程。
2、領導者/跟隨者模型
在這種模型中,有一個線程是領導者,其餘線程是線程中的跟隨者。當請求到達時,領導者首先獲取請求,並在跟隨者中選取一個作為新的領導者,然後繼續處理請求。因此接受請求的線程就是處理請求的線程。
半同步/半非同步模型
在這種模型中,線程池劃分成三個不同的層次:
非同步層,負責接受非同步請求
排隊層,對請求進行緩衝
同步層,多個阻塞在排隊層上的處理線程
一般的半同步/半非同步模型會有一個manager線程用於請求消息轉發和調度,和一組worker線程構成線程池由manager來統一調度。