2009-10-08 24 views
1

我有一個組件,我想寫,它是那種感覺像一個常見的模式。我希望找到該模式的通用名稱,以及如何實施它的例子。這個排隊系統是否有一個模式,以及示例Java代碼?

我有一個隊列請求並逐個處理它們的服務。我有許多客戶端線程發出請求。關鍵是調用線程必須阻塞直到他們自己的特定請求被服務。

E.g.如果有10個線程,都發出請求,那麼第10個線程將阻塞最長的時間,同時等待其請求到達隊列的前端並進行處理。簡單地說pseodocode,一個調用就像這樣簡單:

service.processMessage(myMessage); /* block whilst it enqueues, waits, */ 
            /* processes and returns */ 

我知道你在想什麼 - 爲什麼麻煩有線程呢?我們只是說在我的控制之外有設計限制。

此外,這應該運行在JavaME上,這意味着infuriating subset of real Java,並且沒有時髦的外部庫。

回答

3

如果您對處理請求的總順序沒有任何要求(即,您不介意獨立於它們「到達」的順序而獨立混合來自不同線程的請求),那麼您可以簡單地製作processMessage( )​​,我想。

+0

哇。這只是抹殺了我的一大堆過度工程。我可能會這樣做,儘管未來真正的併發模糊可能性很大,因爲它太完美了,無法忽視。謝謝。 – izb 2009-10-08 10:12:21

相關問題