1. 同步代表不会新开线程,而且需要立即执行方法,在串行队列里可能会导致两个任务相互等待,最后卡死
2. 自旋锁
Ospinlink
这个锁相当于用一个while循环,让线程一直在那里等待,当一个执行完了,while循环推出,下一个进去,让线程处于忙等状态,不需要去唤醒线程耗时,
但是当线程有优先级的时候,会分配更多的时间给高级别的线程,如果高线程一直处于忙等状态,低线程分配不到时间来执行下面的任务,就相当于会造成一种卡死的状态,也可能造成线程优先级反转,高级别的线程反而执行的忙些了,所以现在自旋锁已经被弃用了
网友评论