如何让一个正在执行的线程暂停?

Java的TimeUnit枚举提供了一种更加可读和方便的方式来处理时间单位,包括天、小时、分钟、秒和毫秒等。我们可以使用TimeUnitsleep()方法来让线程休眠,这个方法接受一个表示休眠时间的参数,和一个表示时间单位的TimeUnit对象。

这是一个使用TimeUnit.SECONDS.sleep()方法让线程休眠的例子:

import java.util.concurrent.TimeUnit;

public class SleepExample {

    public static void main(String[] args) {
        Thread task = new Thread(() -> {
            System.out.println("Task started");
            try {
                TimeUnit.SECONDS.sleep(2); // 休眠2秒
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println("Task finished");
        });

        task.start();
    }
}

在这个例子中,我们创建了一个线程task,它的任务是打印两条消息。在打印第一条消息后,我们让线程休眠2秒。我们使用TimeUnit.SECONDS.sleep(2)来实现这个,它比Thread.sleep(2000)更加易读,因为我们可以清楚地看到休眠的时间单位是秒。因此,输出结果如下:

Task started
(等待2秒)
Task finished

这个例子展示了如何使用TimeUnitsleep()方法让一个线程休眠。

发表评论

后才能评论