我想實現一個隊列線程,聽一些消息。什麼是最快速的方法,這是一個多進程多線程應用程序。 我應該使用Apache Qpid嗎?或只是一個普通的.NET阻塞隊列類(如在http://www.eggheadcafe.com/articles/20060414.asp)? 我很樂意聽到你在這個問題上的經驗。什麼是最快的生產者消費方法在c#
1
A
回答
3
我會避免任何使用Thread.Sleep()的代碼。直到.NET 4.0變得廣泛可用,請考慮使用Joe Duffy的BlockingQueue class.
1
退房 John Skeet's生產者消費者例子
1
你需要的隊列是持久?換句話說,如果流程因某種原因死亡,您是否仍然需要繼續?如果是這樣,那會使事情顯得複雜化。如果不是的話,我會使用常規的阻塞隊列 - 如果您能夠使用.NET 4.0,請參閱new concurrent collections。這使得這一切非常簡單。
請注意,SwDevMan81引用的我的文章中給出的示例非常簡單,並且它預先仿製了泛型。對於更高產品質量的實現,您希望有一種停止隊列,泛型,異常處理等的好方法。我的實現是一個合理的起點,但不應將其視爲最終產品。
+0
謝謝。不需要隊列持久化。 – yosefb 2010-01-09 17:23:14
相關問題
- 1. Java生產者 - 消費者:生產者不「通知()」消費者
- 2. C++中的消費者/生產者
- 3. C#生產者/消費者模式
- 4. C生產者 - 消費者使用PThreads
- 5. LinkedBlockingQueue - 生產者/消費者
- 6. POSIX生產者 - 消費者
- 7. 消費者生產者多線程消費者不會消逝
- 8. 如何在使用Semphores的生產者 - 消費者中消費?
- 9. 生產者消費者在Java中
- 10. 生產者消費者在PHP和Java
- 11. 生產者 - 消費者在python
- 12. 消費者過濾的生產者 - 消費者阻塞隊列
- 13. 生產者/消費者線程中的油門消費者
- 14. 什麼是以P-C模式暫停消費者的最簡單方法?
- 15. 生產者消費終止
- 16. 生產者消費者 - 要鎖定什麼
- 17. Java多線程:緩慢的生產者和快速消費者
- 18. 什麼是在c中產生隨機ip數字的最快方法?
- 19. Grails中的生產者/消費者?
- 20. Java的消費者/生產者
- 21. RxJava的生產者 - 消費者
- 22. wcf中的消費者生產者
- 23. java中的多生產者消費者
- 24. 管道消費者/生產者:誰應該是消費者/生產者的父/子後叉
- 25. 如何從生產者消費卡夫卡的消費者?
- 26. MSMQ - 快速生產者/慢速消費者
- 27. 快速生產者和緩慢消費者
- 28. RabbitMQ:快速生產者和慢速消費者
- 29. activeMQ生產者,消費者,會話,連接的範圍是什麼
- 30. 生產者 - 消費者產生一個項目,並立即進行消費(JAVA)
爲什麼我應該考慮避免Thread.Sleep()直到.net 4.0出來? – yosefb 2010-01-09 17:23:46
您要求「最快」。睡眠一百毫秒的線程永遠不會很快。 – 2010-01-09 17:53:36
好的,但爲什麼避免Thread.Sleep(),直到.NET 4.0? .net 4.0的特別之處在於我可以在.net 4中使用thread.sleep()。 – yosefb 2010-01-09 22:56:42