spinlock是一种死等的锁机制,当发生访问资源冲突的时候,后执行获取锁操作的进程会一直执行获取锁的操作,指导获取锁成功,进入临界区,该现象也叫自旋。
同时获取自旋锁成功后会屏蔽进程抢占。
所以spinlock只允许一个进程进入临界区,所以spinlock可以在中断上下文使用。
进程在获取信号量成功后,不会屏蔽进程的抢占,如果某个进程获取信号量失败,该进程不会一直执行,而是会切换进程状态到可中断的休眠态。
千锋教育-做有情怀、有良心、有品质的职业教育机构
spinlock是一种死等的锁机制,当发生访问资源冲突的时候,后执行获取锁操作的进程会一直执行获取锁的操作,指导获取锁成功,进入临界区,该现象也叫自旋。
同时获取自旋锁成功后会屏蔽进程抢占。
所以spinlock只允许一个进程进入临界区,所以spinlock可以在中断上下文使用。
进程在获取信号量成功后,不会屏蔽进程的抢占,如果某个进程获取信号量失败,该进程不会一直执行,而是会切换进程状态到可中断的休眠态。
上一篇
字符型驱动设备怎么创建设备文件下一篇
写一个中断服务需要注意哪些一、工业机器人和自动化工业机器人是自动化技术的一部分,是自动化生产线的关键组件之一。在自动化生产线中,工业机器人被广泛应用于执行各种任...详情>>
2023-10-15 01:41:38一、实现快速数据访问Redis是一种高性能的内存数据库,将数据存储在内存中可以实现非常快速的数据读取和访问。为了进一步提高数据的访问速度,R...详情>>
2023-10-15 01:40:32一、编程思想的定义和理念编程思想可以理解为一套指导编程活动的理念和原则。它包括如何定义问题,如何设计解决方案,以及如何实现和测试这个解...详情>>
2023-10-15 01:22:38一、迭代开发模型中最容易出问题的阶段是什么 在迭代开发模型中,最容易出问题的阶段通常是需求收集和分析阶段。在这个阶段,开发团队需要与客...详情>>
2023-10-15 01:03:52一、Jira是什么 Jira是一款由澳大利亚软件公司Atlassian开发的项目管理和问题跟踪工具。它是一种用于敏捷项目开发和软件开发过程中的工具,广泛...详情>>
2023-10-15 01:02:32