YYDispatchQueuePool
YYDispatchQueuePool copied to clipboard
是设计缺陷问题,还是我理解不到位
为了问题简单化,我的qos都是最高的 4核,如果我有40个任务放到queue中,这样4个queue都是10个任务串行,其中一个queue的线程死锁了,是不是死锁的这个线程不能执行后面的任务,如果是这样的话,是不是设计部缺陷,,
是否可以添加一个线程卡死检测的功能, 然后发现卡死时进行手动恢复
其实你这边一个线程就代表一个CPU,如果其中一个线程死锁的话,其他的3个线程被4个CPU执行了,,死锁的线程,还是不能执行
就算发现了死锁,也没有好的办法来处理。 如果直接杀掉线程,可以解决掉死锁,但是会引起资源泄漏和逻辑缺失。 如果直接返回,可能会引起资源竞争。 只能主动去避免死锁。