Java多线程产生死锁的必要条件