为了防止对共享受限资源的争夺,我们可以通过synchronized等方式来加锁,这个时候该线程就处于阻塞状态,设想这样一种情况,线程A等着线程B完成后才能执行,而线程B又等着线程C,而线程C又等着线程A.这三个任务之间相互循环等待,但是其实没有哪个任务能够执行,这种情况就发生了死锁. 有一个经典的哲学家就餐问题,可以更清晰的理解死锁问题.有N个哲学家围绕在一张圆形餐桌前,餐桌中间有一份面条,每个哲学家都只有一根筷子,放在他的左手边.(因为餐桌是圆形的,所以就是每两个哲学家之间有一根筷子),所以共…