OSSpinLock,自旋锁。不再安全原因:低优先级的线程先获取到锁,而后高优先级线程也来获取这个锁,高优先级意味着其可以在CPU调度中有更大几率分配到时间片,但拿到时间片后获取不到自选锁,时间都浪费到了循环等待上。而这时低优先级的现场可以正常执行任务,但其分配到时间片的几率又很小,从而加剧CPU资源的浪费,也有可能出现自旋锁无法释放的问题;这种低优先级会比高优先级先执行,或者说更快执行的现象,个人认为这种情况就是优先级反转。
参考自:YY大神不再安全的 OSSpinLock
https://blog.ibireme.com/2016/01/16/spinlock_is_unsafe_in_ios/
OSSpinLock在iOS开发中曾被广泛使用,但存在一个问题:低优先级线程可能在高优先级线程之前获得锁,导致高优先级线程陷入循环等待,浪费CPU资源。这种现象称为优先级反转,可能引发自旋锁无法释放,严重影响系统性能。博客详细探讨了这个问题及其后果。
1504

被折叠的 条评论
为什么被折叠?



