public class RunnableThread implements Runnable {
public void run() {
while (true) {
System.out.println("In RunnableThread");
}
}
}public class RealRun { public void mainThread() throws Exception {
RunnableThread rt = new RunnableThread();
Thread xxx = new Thread(rt, "creating");
xxx.start();
xxx.sleep(10000);//?????? 这里究竟是xxx线程, 还是main线程在睡觉啊?????
} public static void main(String[] args) throws Exception {
RealRun rr = new RealRun();
rr.mainThread();
}}注释的部分,究竟是xxx线程,还是main线程在sleep啊???搞不明白,因为sleep是个static方法,API文档说是“当前运行的线程sleep”,按这个说法,应该是main线程在睡觉吧试了好几次,好像也是main线程在睡觉。是这样嘛???大家给个答复
谢谢各位:)

解决方案 »

  1.   

    老打,总共就一个线程,当然是xxx在sleep啦,main线程是永远执行着的
      

  2.   

    况且你写的代码有点问题的,怎么可以同时有两个public类在一起呢?
      

  3.   

    谢谢 DiligencyMan(沧浪之水)的回复不是xxx在睡觉,确实是main在睡觉,因为sleep是个static方法,调用它的就是当前线程,而在main方法(这里说的是main方法)中时,是main线程在运行,所以是main睡觉,而不是xxx
    呵呵,这两个public不是在一起的,它们在两个不同的文件中。这点没有给大家说明:)