死锁问题
Posted zuixinxian
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了死锁问题相关的知识,希望对你有一定的参考价值。
同步弊端:
1.效率低(可接受)
2.如果出现了同步嵌套,有可能产生死锁问题(不可接受)
死锁问题:
是指两个或者两个以上的线程在执行的过程中,因争夺资源产生的一种互相等待的现象
package com.test; public class MyLock { // 创建两把锁对象 public static final Object objA = new Object(); public static final Object objB = new Object(); }
package com.test; public class DieLock extends Thread { private boolean isTrue; public DieLock(boolean isTrue) { this.isTrue = isTrue; } @Override public void run() { if (isTrue) { synchronized (MyLock.objA) { System.out.println("if objA"); synchronized (MyLock.objB) { System.out.println("if objB"); } } } else { synchronized (MyLock.objB) { System.out.println("else objB"); synchronized (MyLock.objA) { System.out.println("else objA"); } } } } }
package com.test; public class DieLockTest { public static void main(String[] args) { DieLock dieLock1 = new DieLock(true); DieLock dieLock2 = new DieLock(false); dieLock1.start(); dieLock2.start(); } }
以上是关于死锁问题的主要内容,如果未能解决你的问题,请参考以下文章