Java中的 TimeUnit sleep() 方法及示例
TimeUnit 类的sleep()方法用于使用此时间单位执行 Thread.sleep。这是一种方便的方法,可将时间参数休眠为 Thread.sleep 方法所需的形式。
句法:
public void sleep(long timeout)
throws InterruptedException
参数:此方法接受强制参数超时,这是睡眠的最短时间。如果这小于或等于零,则根本不睡觉。
返回值:此方法不返回任何内容。
异常:如果在睡眠时被中断,此方法将抛出InterruptedException 。
下面的程序说明了 TimeUnit sleep() 方法的实现:
方案一:
// Java program to demonstrate
// sleep() method of TimeUnit Class
import java.util.concurrent.*;
class GFG {
public static void main(String args[])
{
// Get time to sleep
long timeToSleep = 0L;
// Create a TimeUnit object
TimeUnit time = TimeUnit.SECONDS;
try {
System.out.println("Going to sleep for "
+ timeToSleep
+ " seconds");
// using sleep() method
time.sleep(timeToSleep);
System.out.println("Slept for "
+ timeToSleep
+ " seconds");
}
catch (InterruptedException e) {
System.out.println("Interrupted "
+ "while Sleeping");
}
}
}
输出:
Going to sleep for 0 seconds
Slept for 0 seconds
方案二:
// Java program to demonstrate
// sleep() method of TimeUnit Class
import java.util.concurrent.*;
class GFG {
public static void main(String args[])
{
// Get time to sleep
long timeToSleep = 10L;
// Create a TimeUnit object
TimeUnit time = TimeUnit.SECONDS;
try {
System.out.println("Going to sleep for "
+ timeToSleep
+ " seconds");
// using sleep() method
time.sleep(timeToSleep);
System.out.println("Slept for "
+ timeToSleep
+ " seconds");
}
catch (InterruptedException e) {
System.out.println("Interrupted "
+ "while Sleeping");
}
}
}
输出:
Going to sleep for 10 seconds
Slept for 10 seconds