1. CRITICAL_SECTION 临界区. 它只能用于线程之间互斥 InitializeCriticalSection()
2. 互斥内核对象,可以用于线程之间互斥,也可于进程之间 CreateMutex()
3. 信号量semaphore.可以用于线程之间同步,也可于进程之间 CreateSemaphore()
4. 事件. 主要用于通知 CreateEvent()
信号量与互斥内核对象的主要区别是:
信号量内核对象用来对资源进行计数;
互斥内核对象确保线程可以互斥地访问一个资源。