自旋锁和互斥锁

自旋锁(Spin Lock):自旋锁是锁中的一种,是对临界资源访问的一种安全设置,为什么称之为自旋,是因为它在无限循环的去申请资源直到临界资源解锁。自旋锁不会引起睡眠(sleep),因为它需要不停地自我旋转,每转一圈就发送一次申请,直到申请被同意才停止,因为在不断的循环,所以要一直占用一个CPU,一般用于多和处理器的计算机。虽然他的运行效率高,但只是对应于短作业,一点长时间申请得不到回复就会大大降低cpu的效率,所以只适用于短作业。

互斥锁(Mutex):互斥锁是一种很常用的锁,在双核cpu上两个线程访问临界资源,线程A先访问并给临界资源加锁,这时线程B也要访问这个资源,但是当线程B申请锁的时候因为临界资源已经被线程A加了锁,线程B申请不到锁,(如果是自旋锁,线程B就会一直循环申请直到线程A释放锁)线程B会阻塞住,并进入等待队列,原先线程B占用的CUP就会去运行其他的线程,提高系统的运行效率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值