网站建设运营期末考试,网页设计师用什么软件,如何自己建一个公司网站,娃哈哈网络营销模式什么是死锁#xff1f;  在Java中使用多线程#xff0c;就会有可能导致死锁问题。死锁会让程序一直卡住#xff0c;不再程序往下执行。我们只能通过中止并重启的方式来让程序重新执行。 
造成死锁的原因#xff1a; 
当前线程拥有其他线程需要的资源当前线程等待其他线程已…什么是死锁  在Java中使用多线程就会有可能导致死锁问题。死锁会让程序一直卡住不再程序往下执行。我们只能通过中止并重启的方式来让程序重新执行。 
造成死锁的原因 
当前线程拥有其他线程需要的资源当前线程等待其他线程已拥有的资源都不放弃自己拥有的资源 
class HoldLockThread implements Runnable{private String lockA;private String lockB;public HoldLockThread(String lockA, String lockB) {this.lockA  lockA;this.lockB  lockB;}Overridepublic void run() {synchronized (lockA){System.out.println(Thread.currentThread().getName()  \t持有lockA  \t尝试获得  lockB);try {TimeUnit.SECONDS.sleep(2);} catch (InterruptedException e) {e.printStackTrace();}synchronized (lockB){System.out.println(Thread.currentThread().getName()  \t持有lockB  \t尝试获得  lockA);}}}
}
public class DeadLockDemo {public static void main(String[] args) {String lockA  lockA;String lockB  lockB;new Thread(new HoldLockThread(lockA,lockB),AAA).start();new Thread(new HoldLockThread(lockB,lockA),BBB).start();}
} 那么怎么判断是死锁为什么不是死循环 /*** linux ps -ef|grep xxxx* windows下的java程序   也有类似ps的查看进程的命令但是目前我们需要查看的只是java*            jps  java ps     jps -l*/在命令行下输入jps -l查看到当前的JUC.DeadLockDemo进程号10440  然后用jstack 10440来查看  很长就不全部截图了最后有个Found 1 deadlock