首先执行任务4,这是肯定没问题的,只是接下来,程序遇到了同步线程,那么它会进入等待,等待任务5执行完,然后执行任务6。但这是队列,有任务来,当然会将任务加到队尾,然后遵循FIFO原则执行任务。那么,现在任务5就会被加到最后,任务6排在了任务5前面,问题来了:
任务6要等任务5执行完才能执行,任务5由排在任务6后面,意味着任务5要在任务6执行完才能执行,所以他们进入了互相等待的局面。【既然这样,那干脆就卡在这里吧】这就是死锁
任务6要等任务5执行完才能执行,任务5由排在任务6后面,意味着任务5要在任务6执行完才能执行,所以他们进入了互相等待的局面。【既然这样,那干脆就卡在这里吧】这就是死锁