锁是一个非常有用的工具,运用场景非常多。而且易于理解,下面代码可能引起死锁,使线程t1和线程t2互相等待对方放锁。
/**
* Created by 陈晓阳 on 2017/9/9.
*/
public class DeadLockDemo {
private static String A=”A”;
private static String B=”B”;
public static void main(String[] args){
new DeadLockDemo().deadLock();
}
private void deadLock(){
Thread t1=new Thread(new Runnable() {
@Override
public void run() {
synchronized(A){
try {
Thread.currentThread().sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
synchronized (B){
System.out.print(“1”);
}
}
}
});
Thread t2=new Thread(new Runnable() {
@Override
public void run() {
synchronized (B){
synchronized (A){
System.out.println(“2”)
Java代码 死锁
最新推荐文章于 2023-02-17 01:02:16 发布