A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 蓝色风信子 中级黑马   /  2016-5-31 22:05  /  552 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

//死锁
class Ticket implements Runnable
{
        int ticket=1000;
        boolean flag=true;
        Object obj=new Object();
        public void run()
        {
                if(flag)
                {
                        while(true)
                    {
                            synchronized(obj)
                            {
                             show();
                        }
                    }
                }else{
                        while(true)
                        {
                                show();
                        }
                }
        }
        synchronized void show()
        {
                synchronized(obj)
                {
                if(ticket>0)
                                System.out.println(Thread.currentThread().getName()+"---"+ticket--);
            }
        }
}
public class SiSuo
{
        public static void main(String[] args)
        {
                Ticket t=new Ticket();
                Thread t1=new Thread(t);
                Thread t2=new Thread(t);
                t1.start();
                try{Thread.sleep(10);}catch(Exception e){}
                t.flag=false;
                t2.start();
        }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马