Queue集合和信号量

System.Collections.Generic.Queue(消息队列):

                                 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 

你可能感兴趣的:(WPF,queue,semaphore,信号量,消息队列)