warace 2010-02-24 18:57
浏览 220
已采纳

关于Thread 的sleep方法

关于Thread 的sleep方法

他到底是sleep的哪个进程如:
[code="java"]
public class MyThread extends Thread {
private String message;

public MyThread(String str) {
    this.message = str;
}

/*
 * (non-Javadoc)
 * @see java.lang.Thread#run()
 */
@Override
public void run() {
    int i = 100000;
    while (i > 0) {
        System.out.print(this.message);
        i--;
    }
}

public static void main(String[] args) throws InterruptedException {
    new MyThread("x").start();
    new MyThread("y").start();

    Thread.sleep(10000);

}

}
[/code]
这时候是sleep 所有线程呢还是?
还有一种情况
[code="java"]
public class MyThread extends Thread {
private String message;

public MyThread(String str) {
    this.message = str;
}

/*
 * (non-Javadoc)
 * @see java.lang.Thread#run()
 */
@Override
public void run() {
    int i = 100000;
    while (i > 0) {
        System.out.print(this.message);
        i--;

        Thread.sleep(1000);
    }
}

public static void main(String[] args) throws InterruptedException {
    Thread t = new MyThread("x").start();
    Thread t1 = new MyThread("y").start();
}

}
[/code]
在run方法里面sleep
是不是就一定是sleep当前启动的线程呢,如t里面的sleep t线程,t1里面的sleep t1线程

  • 写回答

1条回答 默认 最新

  • wazhouqian 2010-02-24 21:15
    关注

    sleep只对当前线程起作用,第一个例子是主线程sleep而new的两个线程不会,第二个例子你分析的基本上是对的

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 unity第一人称射击小游戏,有demo,在原脚本的基础上进行修改以达到要求
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染