package xc;
import java.util.*;
public class TextInterrupt {
    class MyThread implements Runnable {
public void run(){
while(true){
System.out.println("------"+new Date()+"------");
}
try{
sleep(1000);
}catch(InterruptedException e){
return;
}

}
}
public static void main(String[] args) {
MyThread thread=new MyThread();
Thread t=new Thread(thread);
t.start();
try{
sleep(t.sleep(10000);)
}catch(InterruptedException e){
t.interrupt();
}
}
}

解决方案 »

  1.   

    sleep(1000)和t.sleep(10000);报错,我按马士兵的代码打的,可是不知道错在哪
      

  2.   

    class MyThread implements Runnable
    MyThread实现Runnable接口.这个接口对应的只有run()方法.没有sleep方法.所以你在run中调用sleep会报错.
    另外你意思在while(true)中输出.然后把线程sleep()方法放到while循环外,这样也过不了编译.还有就是sleep()作为Thread的一个静态方法,没必要用实例对象来调用.
    所以我实在不明白你在main中的 sleep(t.sleep(10000);) 这句代码想要实现的目的是什么.上面的错误,先把编译这关过了,如果编译都过不了就谈不上执行了
      

  3.   

    为什么我感觉 你运行不到try-catch语句不是一直while(true)循环吗
      

  4.   

    我也是新手。。sleep函数是void的 参数是long的。。 下面那个sleep看不懂
      

  5.   

    前面用sleep的时候可以用Thread.sleep
      

  6.   

    把 implements Runnable 改成 extends Thread就可以了
    sleep方法是Thread类独有的,这里继承Runnable接口类本身就没有sleep方法了。
      

  7.   

    3楼讲的很清楚了。
    sleep是Thread类的静态方法。sleep的作用是让线程休眠制定的时间,在时间到达时恢复,也就是说sleep将在接到时间到达事件事恢复线程执行。
    你的这个代码把两个sleep(1000)、sleep(t.sleep(10000);)可以改写为Thread.sleep(1000)和Thread.sleep(10000)可能就行。
      

  8.   

    sleep方法应该是Thread.sleep(1000)这样调用
      

  9.   

    要用sleep的话应是
    Thread.currentThread().sleep(1000);这样调用的