Thread-Per-message Pattern--JAVA多線程編程模式(7)

         Thread-Per-message Pattern

              ----這個工作交給你了

  上司把文件交給下屬,指示:“能幫我傳真這份文件嗎?”。將一份工作拜託別人去做是件很平常的事情。拜託別人:“這個工作交給你了”以後,就回來繼續做自己的事情。

  在這個程序中,我們大體描述一下範例程序的作用,相信讀者腦海裏能很快浮現程序的具體實現。共有三個角色,即三個類,main類會委託Host顯示文字。Host會啓動一個線程,來處理這項委託的工作。啓動的線程,會使用helper類實際進行顯示操作。

  對於這個模式,我覺得最主要是要知道它有什麼益處以及在什麼場合下適用。

  首先,很明顯,他能提升響應性,降低延遲時間。

  這裏的host對於client端(main類)的響應性會提高,延遲時間會下降。尤其是當handl(helper類)的操作很花時間的時候,尤其是handl的操作需要等待輸出入操作(I/O)時,效果特別明顯。但是不可忽視的一點是,這個模式中需要啓動線程,要知道啓動線程也是需要時間的,所以這是一個魚與熊掌不可兼得的關係,看設計人怎麼權衡了。

  其次,這個操作適合操作順序無所謂的時候,且不需要返回值的時候。

  最後,我覺得最實用的一點是應用在服務器的製作上。爲了使服務器可以處理多數請求,可以使用這個模式。客戶端送達的請求,由主線程來接受。而實際處理該請求,則交給其他線程來負責,服務器的主線程繼續回到等待其他客戶端請求的狀態。

發佈了43 篇原創文章 · 獲贊 10 · 訪問量 17萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章