OSSpinLock,自旋锁。不再安全原因:低优先级的线程先获取到锁,而后高优先级线程也来获取这个锁,高优先级意味着其可以在CPU调度中有更大几率分配到时间片,但拿到时间片后获取不到自选锁,时间都浪费到了循环等待上。而这时低优先级的现场可以正常执行任务,但其分配到时间片的几率又很小,从而加剧CPU资源的浪费,也有可能出现自旋锁无法释放的问题;这种低优先级会比高优先级先执行,或者说更快执行的现象,个人认为这种情况就是优先级反转。
OSSpinLock不在安全
最新推荐文章于 2022-08-08 13:33:32 发布
本文探讨了OSSpinLock自旋锁的不安全性,由于优先级反转可能导致高优先级线程在等待锁时浪费CPU资源,而低优先级线程继续执行。这种情况加剧了资源浪费,甚至可能出现锁无法释放的问题。优先级反转现象在多线程编程中是一个重要的考虑因素,需要谨慎处理以避免性能下降和系统僵死。
摘要由CSDN通过智能技术生成