我的應用程序必須按特定順序處理來自客戶端的消息。如果消息包含相同的標籤,則這些消息必須按順序處理,不能在不同的線程中同時處理。具有相同標籤的消息可以從不同的客戶端獲得。標籤沒有預先指定。如何實現這個要求?是否有出的現成的解決方案,隊列使用此功能,別的東西......如何按特定順序處理消息?
0
A
回答
0
1
看起來類似於「優先級隊列」的數據結構,而不是優先考慮你處理由標籤區分它們的消息。
不知道什麼確切的需求,但它應該是很容易實現:
class TagQueue {
Dictionary<Tag, Queue> _queues;
void Enqueue(tag, payload) {
_queues[tag].Enqueue(payload);
}
Payload Dequeue(tag) {
return _queues[tag].Dequeue();
}
Ienumerable<Tag> Tags { get { return _queues.Keys } };
}
相關問題
- 1. NServicebus和消息處理順序
- 2. 順序/同時處理jms消息?
- 3. Mule - 虛擬機端點未按順序處理消息
- 4. WCF:如何更改消息的處理順序?
- 5. 確保兩個處理程序按特定順序完成
- 6. CQRS按特定順序運行處理程序
- 7. NServiceBus:指定消息順序
- 8. 按R中的特定順序處理文件
- 9. 批處理文件 - 按特定順序打開文件
- 10. 我可以使用getopt按特定順序處理選項嗎?
- 11. 如何按特定順序迭代?
- 12. 如何僅使用NServiceBus主機處理特定消息主機
- 13. 如何處理EXCEPT消息?
- 14. HandlerThread如何處理消息?
- 15. 如何處理Windows消息
- 16. 如何按特定順序運行Spring批處理作業(Spring Boot)?
- 17. NServiceBus消息處理程序未按預期順序觸發佐賀處理程序提前觸發
- 18. 消息處理程序
- 19. SOAP消息處理程序
- 20. UIScrollView消息處理程序
- 21. Javascript - 按順序處理按鍵?
- 22. 按順序安排聊天消息
- 23. TPL Dataflow:按順序處理來自兩個傳入塊的消息
- 24. 處理消息
- 25. 處理消息
- 26. 如何重播服務代理消息:中毒消息處理
- 27. 如何在Windows中進行正確的順序異步消息處理?
- 28. 如何更改JSON消息的順序?
- 29. ObjectiveC:按特定順序讀取特徵
- 30. MySQL按特定順序按月排列
所以,你要平行消息而不相同的標記? – Paparazzi 2012-07-12 18:12:25