Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在执行程序时有几秒钟的休息时间_Java - Fatal编程技术网

Java 如何在执行程序时有几秒钟的休息时间

Java 如何在执行程序时有几秒钟的休息时间,java,Java,这个问题听起来可能很奇怪,但我想知道,在执行程序时,我是否可以休息几秒钟。例如,当你有一个简单的For()来打印数组的元素时,元素将全部直接打印。我想知道是否可以像第一个元素那样打印,然后在中断2秒后打印第二个元素,依此类推,直到最后一个。是否可以这样做?您可以在for循环中使用Thread.sleep(1000)方法: public class JavaApp{ public static void main(String[] args) { for (int i =

这个问题听起来可能很奇怪,但我想知道,在执行程序时,我是否可以休息几秒钟。例如,当你有一个简单的For()来打印数组的元素时,元素将全部直接打印。我想知道是否可以像第一个元素那样打印,然后在中断2秒后打印第二个元素,依此类推,直到最后一个。是否可以这样做?

您可以在for循环中使用
Thread.sleep(1000)
方法:

public class JavaApp{

    public static void main(String[] args) {
        for (int i = 0; i < 10; i++) {
            System.out.println(i);
            try {
                Thread.sleep(1000);
            } catch (Exception e) {

            }
        }
    }
}

您可以在for循环中使用
Thread.sleep(1000)
方法:

public class JavaApp{

    public static void main(String[] args) {
        for (int i = 0; i < 10; i++) {
            System.out.println(i);
            try {
                Thread.sleep(1000);
            } catch (Exception e) {

            }
        }
    }
}

您可以使用睡眠功能

Thread.sleep(4000); // 4000 = 4 second

您可以使用睡眠功能

Thread.sleep(4000); // 4000 = 4 second
我建议使用

试试这个:

try {
    Thread.sleep(1000);
} catch(InterruptedException ex) {
    Thread.currentThread().interrupt();
}
这样,程序将暂停1000毫秒。

我建议使用

试试这个:

try {
    Thread.sleep(1000);
} catch(InterruptedException ex) {
    Thread.currentThread().interrupt();
}
这样,程序将暂停1000毫秒。

只需添加线程。sleep()

只需添加线程。sleep()


Thread.currentThread.sleep(时间单位为毫秒)线程.currentThread.sleep(时间单位为毫秒)

您应该检查Thread.sleep(2000)?您可以使用Thread.currentThread().sleep(),但这不能保证睡眠时间为2秒。可能更多。或者,您可以使用while循环,从当前时间中减去最后一个值的打印时间,查看差值是否为2秒,然后打印下一个值。这是一个忙碌的等待,而另一个选择是睡觉(),让处理器自由地完成其他任务。然而,java的时间分辨率大约是(C++)的一千倍,而在正常的PC上,它位于50纳秒的附近。@ JayC667——这不会改变睡眠()的事实。取决于底层操作系统的调度程序,它不必像java所期望的那样精确?您可以使用Thread.currentThread().sleep(),但这不能保证睡眠时间为2秒。可能更多。或者,您可以使用while循环,从当前时间中减去最后一个值的打印时间,查看差值是否为2秒,然后打印下一个值。这是一个忙碌的等待,而另一个选择是睡觉(),让处理器自由地完成其他任务。然而,java的时间分辨率大约是(C++)的一千倍,而在正常的PC上,它位于50纳秒的附近。@ JayC667——这不会改变睡眠()的事实。取决于底层操作系统的调度程序,该调度程序不必像java所期望的那样精确。当发生异常时?@EbraHim:当线程正在等待、睡眠或以其他方式被占用,并且线程被中断时,会引发此异常,在活动之前或期间。当该异常发生时?@EbraHim:当线程正在等待、睡眠或其他情况下被占用,并且线程被中断时,会引发该异常,在活动之前或期间。请添加一些代码说明或至少一个指向编程参考或指南的链接。请添加一些代码说明或至少一个指向编程参考或指南的链接。