首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

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

2012-04-18 
这里的多线程中的sleep方法为什么不能用?我加了try和catch,还是不行?Java codepublic class ThreadTest{pu

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

热点排行