什么是死锁
在两个或者两个以上的线程运行中,线程之间互相调用彼此所拥有的资源时,造成的线程一直等待的问题。
如下图,线程1与线程2彼此调运各自的资源
代码示例
import java.util.concurrent.TimeUnit;
/**
* 死锁的示例
*/
public class ThreadDemo36 {
public static void main(String[] args) {
// 声明(加锁的)资源
Object lockA = new Object();
Object lockB = new Object();
// 创建线程 1
Thread t1 = new Thread(new Runnable() {
@Override
public void run() {
// 获取当前线程名称
String threadName = Thread.currentThread