java 的 Thread.sleep() 方法

  • 2016-04-14
  • 浏览 (875)

sleep()可以使任务暂停执行一段时间,这个时间过后任务重新回到可执行状态。

下面代码测试Thread.sleep()方法暂停的是当前线程还是所有线程,结果证明暂停的是当前线程。
public class ThreadSleep {

    public static void main(String[] args) {
        ThreadSleep ts = new ThreadSleep();
        new Thread(ts.new Run0()).start();
        new Thread(ts.new Run1()).start();
    }

    public class Run0 implements Runnable {
        @Override
        public void run() {
            while (true) {
                try {
                    Thread.sleep(2000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                System.out.println("thread0 run");
            }
        }
    }

    public class Run1 implements Runnable {
        @Override
        public void run() {
            while (true) {
                try {
                    Thread.sleep(500);
                } catch (Exception e) {
                    e.printStackTrace();
                }
                System.out.println("thread1 run");
            }
        }
    }
}

0  赞