C#线程/进程同步(lock、Mutex、Semaphore)

一、lock(实质是Monitor.Enter和Monitor.Exit)(线程同步)

 

二、Mutex(互斥量)(线程/进程同步)

 Mutex有个好的特性是,如果程序结束时而互斥锁没通过ReleaseMutex首先被释放,CLR将自动地释放Mutex。

 Mutex 和 lock仅有那些获取了资源的线程才可以释放它。

三、Semaphore(信号量)(线程/进程同步)

new Semaphore(0, 3); 

①构造函数:

第一个参数,表示我们还可使用的授权数。

第二个参数表示我们最大可申请的授权数。

②任何在Semaphore内的线程都可以调用Release

 

四、事件

未完待续

猜你喜欢

转载自www.cnblogs.com/Cengjianwei/p/10646032.html