- Java code
public class DeadlockRisk { private static class Resource { public int value; } private Resource resourceA = new Resource(); private Resource resourceB = new Resource(); public int read() { synchronized (resourceA) { synchronized (resourceB) { return resourceB.value + resourceA.value; } } } public void write(int a, int b) { synchronized (resourceB) { synchronized (resourceA) { resourceA.value = a; resourceB.value = b; } } } }
看到一个线程死锁的例子
不明白这里的内部类为什么加了static
new了之后是什么样的对象呢
不加static又是怎么样的呢
------解决方案--------------------
http://baike.baidu.com/view/536145.htm
------解决方案--------------------
一只狗要吃骨头,一只猫要吃鱼头。狗叼着鱼头看着猫,猫叼着骨头看着狗,谁都不想互让,而骨头和鱼头只是唯一,你说狗要怎么样?楼下的请继续,要幽默地回答。
------解决方案--------------------
不提语法,在功能上没有区别吧。