看代码
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();
                  System.out.println("in mainThread");
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.   

    http://www.boxigroup.com B/S、C/S、数据库开发帮助网站、欢迎光临
      

  2.   

    hehe, 看来楼主还是个挺爱钻研的人  :)既然API文档说是“当前运行的线程sleep”,你就相信它好啦,更何况你的试验不是也证明了吗?如果还想深究,就去看看 JDK 的源代码喽。
      

  3.   

    maquan('ma:kju)
    谢谢回复,试出来了,就是main在睡觉是这样试出来的,currentThread也是个static方法。语句xxx.currentThread()则得到的是main线程,所以xxx.sleep(10),也肯定是main线程在睡觉了谢谢maquan('ma:kju),我还以为因为没有分,没有人回复呢。呵呵