Runnable 接口 如果调用线程?

码间拾光・菲林斯 2012-06-22 08:54:27
以下程序运行报错 ,MyRun 的sleep 如何指定是那个 Thread 的。
import java.util.*;
public class Testinterrupt
{
public static void main(String [] args)
{
MyRun r = new MyRun();
Thread t = new Thread(r);
t.start();

try
{
t.sleep(10000);
}
catch(InterruptedException e)
{

}
t.interrupt();

}
}

class MyRun implements Runnable
{
public void run()
{
while(true)
{
System.out.println("====="+new Date()+"========");

try
{
sleep(1000);
}
catch(InterruptedException e)
{
return;
}
}
}
}
...全文
107 5 打赏 收藏 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
维维君 2012-06-22
  • 打赏
  • 举报
回复
受教了。。。
RDroid 2012-06-22
  • 打赏
  • 举报
回复
Java里的代码,只能控制自己当前的线程进行休眠,不能指定其它线程进行休眠

因此sleep是静态方法,无需指定具体线程,因为只能操作当前线程
  • 打赏
  • 举报
回复
OK ,问题解决,原来是静态方法,凡事静态方法都可以直接这样调用是吧?
brightyq 2012-06-22
  • 打赏
  • 举报
回复
Thread.sleep(1000)
brightyq 2012-06-22
  • 打赏
  • 举报
回复
sleep是Thread的静态方法,可以通过Thread.sleep()直接调用。
t.sleep(10000); 这一句不用这写,直接换成Thread.sleep()即可。就表示对当前线程休眠。

报的错是MyRun类run方法的
sleep(1000);
这句吗?换成Thread.sleep()

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧