08 2012 档案

摘要:/************************************************************************** Event 事件** 同步机制中最富有弹性的机制了。唯一的目的就是成为激发状态或未激发状态** 而这两种状态完全由程序控制。所以你可以精确告诉一个Event对象做什么事** 以及什么时候去做。** ** 主要函数:** CreateEvent** OpenEvent** SetEvent** ResetEvent** PulseEvent** 参考资料** http://www.codeproject.com/Articles/438/Intr 阅读全文
posted @ 2012-08-17 14:19 木愚 阅读(231) 评论(0) 推荐(0)
摘要:/************************************************************************** Semaphore 信号量** 可以将Mutex看作Semaphore的简化版,Mutex锁住的是一份资源,** Semaphore锁住的是多份资源,可以让多个线程在“同一时间同时运行”** ** 主要函数:** CreateSemaphore** ReleaseSemaphore** VS2008 MSND的例子** ms-help://MS.MSDNQTR.v90.en/dllproc/base/createsemaphore.htm*** 阅读全文
posted @ 2012-08-17 10:19 木愚 阅读(281) 评论(0) 推荐(0)
摘要:/************************************************************************** Mutex 互斥器** 学习Mutex和WaitForSingleObject一起使用的方法** ** 主要函数:** CreateMutex** OpenMutex** ReleaseMutex** Mutex可以跨进程使用,用途之一防多开************************************************************************/#include <iostream>#incl 阅读全文
posted @ 2012-08-16 15:07 木愚 阅读(465) 评论(0) 推荐(0)
摘要:/************************************************************************** Critical Section 临界区** 这是一种防止多个线程同时执行一个特定代码节的机制。** 临界区是一种轻量级机制,在某一时间内只允许一个线程执行某个给定代码段。** 通常在修改全局数据(如集合类)时会使用临界区。Event、Mutex和Semaphore也用于多线程同步,但临界区与它们不同,** 它并不总是执行向内核模式的控制转换,这一转换成本昂贵。稍后将会看到,要获得一个未占用临界区,** 事实上只需要对内存做出很少的修改,其速度 阅读全文
posted @ 2012-08-14 17:17 木愚 阅读(370) 评论(0) 推荐(0)