2010年11月18日

CLR via C# 读书笔记 3-2 AutoResetEvent ManualResetEvent 和Semaphore

摘要: 这三个对象都经常用于线程同步下面是一些他们的异同点1.当多个线程在等待一个 AutoResetEvent的时候,每次调用AutoResetEvent.Set()方法只会唤醒一个线程2.当多个线程在等待一个ManualResetEvent的时候,每次调用ManualResetEvent.Set()方法会唤醒所有等待的线程3.当多个线程在等待一个Semaphore的时候,每次调用Semaphore.R... 阅读全文

posted @ 2010-11-18 14:29 听说读写 阅读(639) 评论(0) 推荐(0) 编辑

CLR via C# 读书笔记 3-1 一种单实例应用程序的实现(信号量)

摘要: 单实例应用程序指的是在你的操作系统中你只能开一个的程序例如说outlook以下代码通过 Semaphore 实行了一个单实例的控制(事实上你使用EventWaitHandle 或者 Mutex都是可以的)原理是因为windows不允许重名的核心对象 ,例子中是 "SomeUniqueStringIdentifyingMyApp"第一次调用Semaphore的时候,系统将创建一个对象并将create... 阅读全文

posted @ 2010-11-18 14:07 听说读写 阅读(453) 评论(0) 推荐(0) 编辑

导航