2010-01-09 66 views

回答

3

我會避免任何使用Thread.Sleep()的代碼。直到.NET 4.0變得廣泛可用,請考慮使用Joe Duffy的BlockingQueue class.

+0

爲什麼我應該考慮避免Thread.Sleep()直到.net 4.0出來? – yosefb 2010-01-09 17:23:46

+0

您要求「最快」。睡眠一百毫秒的線程永遠不會很快。 – 2010-01-09 17:53:36

+0

好的,但爲什麼避免Thread.Sleep(),直到.NET 4.0? .net 4.0的特別之處在於我可以在.net 4中使用thread.sleep()。 – yosefb 2010-01-09 22:56:42

1

你需要的隊列是持久?換句話說,如果流程因某種原因死亡,您是否仍然需要繼續?如果是這樣,那會使事情顯得複雜化。如果不是的話,我會使用常規的阻塞隊列 - 如果您能夠使用.NET 4.0,請參閱new concurrent collections。這使得這一切非常簡單。

請注意,SwDevMan81引用的我的文章中給出的示例非常簡單,並且它預先仿製了泛型。對於更高產品質量的實現,您希望有一種停止隊列,泛型,異常處理等的好方法。我的實現是一個合理的起點,但不應將其視爲最終產品。

+0

謝謝。不需要隊列持久化。 – yosefb 2010-01-09 17:23:14