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

    class DeadLockDemo
    {
        public static void main(String[] args)
        {
            Ticket ticket = new Ticket();
            for(int i = 1;i<10;i++)
            {
                new Thread(ticket,"thread--00"+ i +"--").start();
                try
                {
                    Thread.sleep(10);
                }
                catch(Exception e)
                {
                    System.out.println(e.getMessage());
                }
                ticket.flag = !ticket.flag;
            }
        }
    }

    class Ticket implements Runnable
    {
        private int num = 10000;
        Object object = new Object();
        boolean flag = true;
        
        public void run()
        {
            if(flag)
            {
                while(true)
                {
                    synchronized(object)
                    {
                        sale();
                    }
                }
            }
            else
            {
                while(true)
                {
                    sale();
                }
            }        
        }
        
        public synchronized void sale()
        {
            synchronized(object)
            {
                if(num>0)
                {
                    try
                    {
                        Thread.sleep(10);
                    }
                    catch(Exception e)
                    {
                        
                    }
                    
                    System.out.println(Thread.currentThread().getName()+" .. sale .. "+num--);
                }
            }
        }
    }
  • 相关阅读:
    resolv.conf 是什么
    Cloudera Manager Free Edition 4.1 和CDH 4.1.2 简易安装教学
    bach cello
    windows 7 旗舰版 切换 中英文 界面
    geghi 教程 以lesmiserable 为例
    python 使用 tweepy 案例: PS4
    用Live Writer写博文插入程序代码的三个插件比较
    侧滑菜单
    [Android]简略的Android消息机制源码分析
    常用git命令
  • 原文地址:https://www.cnblogs.com/cxmsky/p/2860380.html
Copyright © 2011-2022 走看看