2015-02-04 20 views
2

書和例子表明的Bootstrap服務器的時候,我們應該用所謂的boss組和worker組:Netty的引導與老闆組或只與工人EventLoopGroup

serverBootstrap.group(bossGroup, workerGroup); 

然後,在Vert.x是基於Netty的有:

bootstrap.group(availableWorkers); 

這意味着(afaiu),所有的工作人員是去工作一樣,所以沒有老闆來處理剛傳入的連接。

這是爲什麼?

回答

5

大多數時間使用相同的組來接受和處理接受的連接的工作很好,因此可以保存一些線程。只有當接受的連接的處理邏輯將使EventLoops保持如此繁忙以至於無法足夠快地接受時,您纔可能不想這樣做。所以最好的做法是在啓動時只使用同一組,如果需要則切換到兩個。

+0

我可以說如果我使用ExecutionHandler在另一個線程中處理邏輯,那麼使用相同的組會比兩個組更好?由於將少一個eventLoop刻錄CPU – Jerrylk