05 2017 档案
摘要:一提到Semaphore(信号量)的使用,还挺有意思的,它允许多个线程同时访问多个稀有资源,我立马想到银行的ATM机取钱的场景。看下面的代码: 这个结果说明,4个ATM,当前都有人占用着,所以四个人处于等待状态。 当我们把初始资源数设为4,结果: 上图说明,四个人都没有等待,而是直接进入了ATM机的
阅读全文
摘要:说起Mutex,它的中文名字叫互斥体。它是WaitHandle家族成员之一,前面有一篇介绍过WaitHandle的家族成员构成。那么Mutex有什么作用呢?它是怎么使用的? 我们先来看看它的使用场景一: 话说小王同学做了wpf的客户端程序,现在已经打包好了,准备发布出去,结果在本地测试时,突然发现他
阅读全文
摘要:这段不到100行的代码,采用的思想是,生产者消费模式,其中应用了AutoResetEvent ,从字面上看,是自动重置事件,它是EventWaitHandle的一个子类。 我们还是先来看看这段代码所要表达的意思。第8行,定义了一个文件传输队列FileTaskQueue,它用来接收生产者生产的实体,即
阅读全文