日期:2014-05-20  浏览次数:20636 次

关于内部类用static修饰
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

------解决方案--------------------
一只狗要吃骨头,一只猫要吃鱼头。狗叼着鱼头看着猫,猫叼着骨头看着狗,谁都不想互让,而骨头和鱼头只是唯一,你说狗要怎么样?楼下的请继续,要幽默地回答。
------解决方案--------------------
不提语法,在功能上没有区别吧。