进程间通信、线程同步  概要

线程同步  

CRITICAL_SECTION

关键区域。

訪问的资源。叫临界资源,比方打印机。訪问临界资源的代码叫临界代码区域。

CRITICAL_SECTION对象没有句柄,不能被其它线程共享。


线程同步之 CRITICAL_SECTION .

MUTEX

相互排斥量。

MUTEX对象有句柄。所以也可用于不同进程的线程之间做同步。

MUTEX有超时等待机制。临界区则没有。

 线程同步之MUTEX

SEMAPHORE

信号量。

它维护一个计数,当值大于0时,信号量对象处于已传信状态。通经常使用数值表示可用资源的个数。

WaitForSingleObject()令信号量减一;ReleaseSemaphore()令信号量加一。


线程同步之 SEMAPHORE



 


 


EVENT

事件可传信给其它线程,表示某些条件如今已具备,比方有可用的消息。

线程同步之 EVENT

进程通信



命名管道


命名管道进程通信