什么是线程死锁?如何避免死锁?1. 什么是线程死锁2. 产生死锁的必要条件3. 如何避免线程死锁?
1. 什么是线程死锁线程死锁描述的是这样一种情况:多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放。由于线程被无限期地阻塞,因此程序不可能正常终止。如下图所示,线程 A 持有资源 2,线程 B 持有资源 1,他们同时都想申请对方的资源,所以这两个线程就会互相等待而进入死锁状态。下面的代码模拟了上图的死锁的情况public class DeadLockDemo { private static Object resource1 = new Object();//资源 1