JAVA线程对象2.2:sleep方法(参考官方)

sleep暂停线程


thread.sleep方法可以使当前线程暂停执行一段时间。通过该方式,可以有效地将处理器的可用时间分配给同一应用或者其他应用的线程。睡眠的方法也可以用于调整节奏(如上例所示),还可用于等待另一个被认为有时间要求的线程(后面的章节将有实例)。

sleep方法有两个重载版本:一个指定的睡眠时间是毫秒,一个指定的睡眠时间是纳秒。

sleep(long millis) 该线程睡眠时间 millis 毫秒
sleep(long millis, int nanos) 该线程睡眠时间 millis 毫秒 + nanos 纳秒

不过,这些睡眠时间不一定是精确的,因为它们还依赖于底层操作系统的能力。同时,睡眠可以被interrupt方法中断(我们将在后面的章节见到)。但在任何情况下,你都别指望调用sleep方法能在指定的精确时间暂停线程。

注意main方法中声明抛出中断异常(InterruptedException)。当一个线程睡眠时被别的线程中断,就会抛出该异常。这个应用程序中没有定义别的可能导致中断的线程,那它自然就捕获不到这个异常。


原文:
http://docs.oracle.com/javase/tutorial/essential/concurrency/sleep.html

猜你喜欢

转载自myalicedream.iteye.com/blog/2205469