Queue集合和信號量

System.Collections.Generic.Queue<T>(消息隊列):

                                 MSDN定義爲:先進先出的集合,允許null值,並且可以重複,值可以爲引用類型。其默認的容量爲32,默認的增長因子爲2.0.

                                 可以使用Enqueue() 方法將對象添加到Queue的結尾處.

                                 使用Dequeue() 方法將開始處的對象移除並返回該對象。

                                 注意:多個線程同時給Queue添加或移除對象時,請使用lock線程鎖,防止併發。

                                  消息隊列,就是給任務發了一連串的郵件,官員(任務)拿到這一大摞文件,可以從底部或者頂部(LIFO or FIFO)一個一個拆開處理。

System.Threading.Semaphore(信號量):

                          MSDN定義爲:限制可同時訪問某一資源或資源池的線程數。

                          使用 Semaphore 類可控制對資源池的訪問。

                          線程通過調用 WaitOne 方法(從 WaitHandle 類繼承)進入信號量,並通過調用 Release 方法釋放信號量。

                          信號量就是中央政府發給官人做一方大員的官印,有很多種官印但是不能一印多發,得到官印者才能掌權魚肉一方百姓(任務得到信號量才能運行),否則你就只要等官跑官

                          以上紅體字轉自:http://bbs.ednchina.com/BLOG_ARTICLE_242653.HTM 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章