黑马程序员技术交流社区

标题: 异常吧 [打印本页]

作者: Joesph    时间: 2013-7-26 17:03
标题: 异常吧
本帖最后由 杜光 于 2013-7-27 14:53 编辑

package ThreadDemo;
class Sale implements Runnable  
{  
    private int tick = 100;  
    boolean flog = true;  
    public void run()  
    {  
        if (flog)  
        {  
            //线程一执行   
            while(true)  
            {  
                //如果对象为obj,则是两个锁,是不安全的;换成this,为一个锁,会安全很多   
                synchronized(this)  
                {  
                    if (tick > 0)
                    {   try{Thread.sleep(10);}catch(Exception e){}
                        System.out.println(Thread.currentThread().getName() + "--code--:" + tick--);  
                    }
                 }  
              }  
          }
   
        //线程二执行   
        else  
            while(true)  
                show();  
    }  
    public synchronized void show()  
    {  
        if (tick > 0)  
       {  
         try{Thread.sleep(10);}catch(Exception e){}
            System.out.println(Thread.currentThread().getName() + "----show-----:" + tick--);  
   
        }
     }  
}  
  
class ThreadDemo4  
{  
    public static void main(String[] args)   
    {  
        Sale t = new Sale();  
        Thread t1 = new Thread(t);//创建一个线程   
        Thread t2 = new Thread(t);//创建一个线程   
        t1.start();  
        try{Thread.sleep(10);}catch(Exception e){}//关闭主线程,运行t1
        t.flog = false;//开启线程一,即关闭if,让线程二执行else中语句   
        t2.start();  
    }
}

就是红色 部分,如果把{}去掉,怎么解释?

作者: jialihong    时间: 2013-7-26 17:08
就没有做异常处理
作者: 李政    时间: 2013-7-26 17:22
if (tick > 0)
try{Thread.sleep(10);}catch(Exception e){}
                        System.out.println(Thread.currentThread().getName() + "--code--:" + tick--);  
如果这样写代码的话 System.out.println(Thread.currentThread().getName() + "--code--:" + tick--);  这句代码便一直会执行到啊,当tick<=0的时候,照样会打印

不知道你是不是问这个。。

作者: Joesph    时间: 2013-7-26 17:36
李政 发表于 2013-7-26 17:22
if (tick > 0)
try{Thread.sleep(10);}catch(Exception e){}
                        System.out.println( ...

是的是的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2