读书人

这里的多线程中的sleep方法为什么不能

发布时间: 2012-04-18 15:01:59 作者: rapoo

这里的多线程中的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是静态方法,不建议使用对象调用。

读书人网 >J2SE开发

热点推荐