Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.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,我想在代码之间创建一个等待期,如下所示: javax.swing.JOptionPane.showMessgeDialog(null, "2 hours left"); // Wait for 2 hours javax.swing.JOptionPane.showMessageDialog(null, "2 hours ago"); 但我不知道如何安排这段等待时间,我将尝试所有答案并选择最好的答案,但请回答我。您正在寻找的答案 javax.swing.JOptionPane.showMe

我想在代码之间创建一个等待期,如下所示:

javax.swing.JOptionPane.showMessgeDialog(null, "2 hours left");
// Wait for 2 hours
javax.swing.JOptionPane.showMessageDialog(null, "2 hours ago");  
但我不知道如何安排这段等待时间,我将尝试所有答案并选择最好的答案,但请回答我。

您正在寻找的答案

javax.swing.JOptionPane.showMessgeDialog(null,“还剩2小时”);
//等2个小时
试一试{
Thread.sleep(7200000);//持续时间(毫秒)
}捕获(中断异常例外){
Thread.currentThread().interrupt();
}
javax.swing.JOptionPane.showMessageDialog(null,“2小时前”);
或者,正如@user2478398所建议的那样

javax.swing.JOptionPane.showMessgeDialog(null,“还剩2小时”);
//等2个小时
时间单位。小时。睡眠(2L);
javax.swing.JOptionPane.showMessageDialog(null,“2小时前”);
您正在寻找的

javax.swing.JOptionPane.showMessgeDialog(null,“还剩2小时”);
//等2个小时
试一试{
Thread.sleep(7200000);//持续时间(毫秒)
}捕获(中断异常例外){
Thread.currentThread().interrupt();
}
javax.swing.JOptionPane.showMessageDialog(null,“2小时前”);
或者,正如@user2478398所建议的那样

javax.swing.JOptionPane.showMessgeDialog(null,“还剩2小时”);
//等2个小时
时间单位。小时。睡眠(2L);
javax.swing.JOptionPane.showMessageDialog(null,“2小时前”);

这是使用
线程睡眠方法的地方,下面是:


您可以在方法中抛出
InterruptedException
,也可以使用
try-catch
处理它。这是您使用
线程的地方。sleep
方法,以下是:

您可以在方法中抛出
InterruptedException
,也可以使用
try-catch
处理它

添加如下延迟:

javax.swing.JOptionPane.showMessgeDialog(null, "2 hours left");
// Wait for 2 hours
javax.swing.JOptionPane.showMessageDialog(null, "2 hours ago");  
添加如下延迟:

javax.swing.JOptionPane.showMessgeDialog(null, "2 hours left");
// Wait for 2 hours
javax.swing.JOptionPane.showMessageDialog(null, "2 hours ago");  

所有其他答案都建议使用
Thread.sleep()
。我想它可以工作,但它阻止了当前线程。通常你不想那样

您应该使用更健壮的解决方案,这是一个及其
计划
方法。像这样的东西应该适合你:

public static void main(String[] args) {
    final ScheduledExecutorService executorService = Executors.newSingleThreadScheduledExecutor();
    long delay = 2L;
    executorService.schedule(App::myTask, delay, TimeUnit.HOURS);
}

private static void myTask() {
    //whatever you want to execute after delay
    System.out.println("Running");
}

myTask
方法中的代码将在延迟2小时后在其他线程中执行。

所有其他答案都建议使用
thread.sleep()
。我想它可以工作,但它阻止了当前线程。通常你不想那样

您应该使用更健壮的解决方案,这是一个及其
计划
方法。像这样的东西应该适合你:

public static void main(String[] args) {
    final ScheduledExecutorService executorService = Executors.newSingleThreadScheduledExecutor();
    long delay = 2L;
    executorService.schedule(App::myTask, delay, TimeUnit.HOURS);
}

private static void myTask() {
    //whatever you want to execute after delay
    System.out.println("Running");
}

myTask
方法中的代码将在延迟2小时后在其他线程中执行。

基本上,您需要一个计时器将代码保持2小时,并在两小时后打印第二行?这是否回答了您的问题?这也很有帮助,谢谢,若霍拉不要让一根线睡两个小时。改用计时器或类似的构造在将来执行特定的操作。例如,看一看基本上,你想要一个计时器保持你的代码2小时,两小时后打印第二行?这回答了你的问题吗?这也很有帮助,谢谢,若霍拉不要让一根线睡两个小时。改用计时器或类似的构造在将来执行特定的操作。例如,查看
120_000
=2分钟<代码>时间单位。小时。睡眠(2L)将更具可读性,更不容易出错,并且实际睡眠时间正确。也就是说,睡眠2小时对于
线程来说是一个可怕的想法。我正在制作一个时间表,并设置要等待多少时间,然后发出警报,因此如果用户想要2小时,它应该等待2小时,然后发出警报。
120_000
=2分钟<代码>时间单位。小时。睡眠(2L)将更具可读性,更不容易出错,并且实际睡眠时间正确。也就是说,睡眠2小时对于
线程来说是一个可怕的想法。我正在制作一个时间表,并设置要等待多少时间,然后发出警报,因此如果用户想要2小时,它应该等待2小时,然后发出警报。感谢#Mohsen_Fatemi,这很有帮助,但7200000是什么,一毫秒或一微秒还是什么?@AbdullahAhmedKamal如果你看到文档,你会看到它在
毫秒
。谢谢#Mohsen_Fatemi,这帮了大忙,但7200000是什么,一毫秒或一微秒还是什么?@AbdullahAhmedKamal如果你看到文档,你会看到它在
毫秒
。事实上,只需在上面的
main
方法末尾添加
executorService.shutdown()
,就可以了。实际上,在上面的
main
方法的末尾添加
executorService.shutdown()
,应该可以。我只是哑巴:)。