spinlock与信号量的区别
发布时间:2023-01-22 20:50:00
发布人:wjy
spinlock是一种死等的锁机制,当发生访问资源冲突的时候,后执行获取锁操作的进程会一直执行获取锁的操作,指导获取锁成功,进入临界区,该现象也叫自旋。
同时获取自旋锁成功后会屏蔽进程抢占。
所以spinlock只允许一个进程进入临界区,所以spinlock可以在中断上下文使用。
进程在获取信号量成功后,不会屏蔽进程的抢占,如果某个进程获取信号量失败,该进程不会一直执行,而是会切换进程状态到可中断的休眠态。