临界区和锁

何为临界区,就是访问临界资源的那段代码。(critical section),临界区是共享资源但是只允许一个进程使用。不论是硬件临界区还是软件临界区,多个进程必须互斥的对它进行访问。 

使用注意事项:线程在使用临界区时使用的时间不能过长,临界区中最好不要包含等待用户输入或者其他一些外界干预的操作。使用EnterCriticalSection之后一定要确保与之匹配的LeaveCriticalSection被执行到。临界区只能用来同步本进程内的线程。


加锁和解锁,一个进程对临界区加锁,其他进程试图访问该临界区时,会被设置成睡眠状态,然后被放入等待该锁的队列中。当加锁的进程解锁临界区之后,会从该锁的等待队列中寻找一个进程将其设置为就绪,等待调度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值