1. 程式人生 > >java——利用生產者消費者模式思想實現簡易版handler機制

java——利用生產者消費者模式思想實現簡易版handler機制

參考教程:http://www.sohu.com/a/237792762_659256

首先介紹每一個類:

1.Message:

  這個類的作用是儲存一個生產者生產出來的具體的訊息,就類似連結串列佇列中的一個節點,自行定義需要儲存的內容。

  code:訊息要執行的具體動作程式碼

  msg:訊息內容

  target:用來關聯hadler,根本目的時為了使這幾個類共享一個MessageQueue,這個很重要

2.MessageQueue:

  這個類就是生產者和消費者執行緒需要共享的一個儲存訊息的佇列,生產者將訊息放入這個佇列,消費者取出訊息並處理。

  內部實現是用了BlockingQueue,這個佇列特別的地方就是出隊和入隊的時候是阻塞的,也就是說當佇列中沒有元素的時候出隊這個動作會引起執行緒阻塞,直到有元素入隊;同理入隊也會因為佇列滿而引起執行緒阻塞,直到有元素出隊。

  這個類中定義了兩個方法:next和enqueueMessage分別對應出對和入隊。  

  需要考慮的就是如何將生產者和消費者多執行緒共享這個佇列

  吃口飯再寫,好餓