死锁: A线程持有 锁1,接下来要获取锁2:与此同时,B线程持有锁2,要获取锁1.两个线程都在等对方释放自己需要的锁,这时两方会永远等待下去,就形成了死锁. 死锁的四个必要条件: 1.互斥:资源(锁)同时只能被一个线程占用. 2.占有且等待:线程已经占用资源A,同时等待资源B时,不释放资源A. 3.不可抢占:其他线程不能强行获取当前线程占有的资源 4.循环等待:存在一个等待链,即T1等待T2占有的资源,T2等待T3占有的资源,T3等待T1占有的资源. 如果要解决死锁,则需要破坏任意一死锁的必要条