zoukankan      html  css  js  c++  java
  • 死锁:同步中嵌套同步,但锁不同,例一:

    class DeadLockDemo
    {
        public static void main(String[] args)
        {
            Thread t1 = new Thread(new Test(true));
            Thread t2 = new Thread(new Test(false));
            
            t1.start();
            t2.start();
        }
    }

    class Test implements Runnable
    {
        private boolean flag;
        public Test(boolean flag)
        {
            this.flag = flag;
        }
        
        public void run()
        {
            if(flag)
            {
                synchronized(Locks.object1)
                    {
                        System.out.println("if object1");
                        synchronized(Locks.object2)
                        {
                            System.out.println("if object2");
                        }
                    }
            }    
            else
            {
                synchronized(Locks.object2)
                    {
                        System.out.println("else object2");
                        synchronized(Locks.object1)
                        {
                            System.out.println("else object1");
                        }
                    }
            }
        }
    }

    class Locks
    {
        static Object object1 = new Object();
        static Object object2 = new Object();
    }
  • 相关阅读:
    [WF4.0 实战] AutoResetEvent具体解释(线程独占訪问资源)
    linux下getrlimit与sysconf函数
    36.怎样使用定时任务
    1016. 部分A+B (15)
    找你妹+ipad+wifi,回顾那年的经典游戏
    Oracle 外键约束子表、父表
    字符串 上
    LeetCode103 BinaryTreeZigzagLevelOrderTraversal(二叉树Z形层次遍历) Java题解
    jquery ajax參数加点号状态200进error
    泛型数组随机排列工具类
  • 原文地址:https://www.cnblogs.com/cxmsky/p/2860364.html
Copyright © 2011-2022 走看看