多线程同步与互斥

想成间的制约关系:当线程并发执行时,需要共享资源和合作
1.间接制约,当多个线程需要同一资源时,如果某一线程正在使用其资源,那么其它线程就只有等待,直到线程释放资源,如线程都使用打印机,但
  在同一个时候,只允许一个线程使用
2. 直接制约,比如线程2需要使用线程1的计算结果,那么线程2在线程1提供计算结果前处于阻塞状态。
间接制约就是互斥,直接制约就是同步,同步实际上是包含互斥的

实现同步互斥的四个方法,关键段(CS),事件,互斥量,信号量
关键段CS:
Initialize-CriticalSection
Delete-CriticalSection
Enter-CriticalSection
Leave-CriticalSection

互斥量Mutex
CreateMutex
CloseHandle
WaitForSingleObject  等待
ReleaseMutex

事件
CreateEvent
CloseHandle
SetEvent       使事件触发
ResetEvent     使事件未触发

信号量
Create-Semaphore
CloseHandle
WaitForSingleObject   信号量-- 
Release-Semaphore     信号量++

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值