Netty EventLoop和線程模型

2018-08-07 15:34 更新

本章介紹

  • 線程模型的總覽
  • EventLoop
  • 并發(fā)
  • 任務(wù)執(zhí)行
  • 任務(wù)調(diào)度

線程模型定義了應(yīng)用或者框架如何執(zhí)行你的代碼,所以選擇線程模型極其重要。Netty 提供了一個簡單強(qiáng)大的線程模型來幫助我們簡化代碼。所有 ChannelHandler,包括業(yè)務(wù)邏輯,都保證由一個 Thread 同時執(zhí)行特定的 Channel。這并不意味著Netty不能使用多線程,只是 Netty 限制每個Channel 都由一個 Thread 處理,這種設(shè)計適用于非阻塞 IO 操作。

讀完本章就會深刻理解 Netty 的線程模型以及 Nett y團(tuán)隊為什么會選擇這樣的線程模型,這些信息可以讓我們在使用 Netty 時讓程序由最好的性能。此外,Netty 提供的線程模型還可以讓我們編寫整潔簡單的代碼,以保持代碼的整潔性;我們還會學(xué)習(xí) Netty 團(tuán)隊的經(jīng)驗,過去使用其他的線程模型,現(xiàn)在我們將使用 Netty 提供的更容易更強(qiáng)大的線程模型來開發(fā)。

本章假設(shè)如下:

  • 你明白線程是什么以及如何使用,并有使用線程的工作經(jīng)驗。若不是這樣,就請花些時間來了解清楚這些知識。推薦一本書:《Java Concurrency in Practice(Java 并發(fā)編程實(shí)戰(zhàn))》(Brian Goetz)。
  • 你了解多線程應(yīng)用程序及其設(shè)計,也包括如何保證線程安全和獲取最佳性能。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號