当前位置: 代码迷 >> J2SE >> 这里的多线程中的sleep方法为什么不能用?小弟我加了try和catch,还是不行
  详细解决方案

这里的多线程中的sleep方法为什么不能用?小弟我加了try和catch,还是不行

热度:134   发布时间:2016-04-24 01:21:11.0
这里的多线程中的sleep方法为什么不能用?我加了try和catch,还是不行?
Java code
public class ThreadTest{    public static void main(String[] args){        new ThreadTest().start();                }    public void start(){        ThreadNew tn = new ThreadNew();        Thread tn1 = new Thread(tn);        Thread tn2 = new Thread(tn);        Thread tn3 = new Thread(tn);            tn1.start();        tn2.start();        tn3.start();            }    }    class ThreadNew implements Runnable{        public void run(){        for(int i = 0;i <10000;i++){            System.out.println(" CURRENT:" + Thread.currentThread().getName());            sleep(1000);            }        }    }    


------解决方案--------------------
因为Runnable接口只有run()方法,Thread类才有sleep这个静态方法。
楼主的代码要么改为继承自Thread类,在sleep(1000)那里加上try catch
要么改为Thread.sleep(1000),然后加上try catch,建议使用Thread.sleep(1000)
因为sleep是静态方法,不建议使用对象调用。