我正在开发一个Java应用程序,我想暂停执行几秒钟(由用户选择)并稍后恢复......这是一个简单的代码:
Public Class myApp
{
static public main()
{
int seconds=10;
// do couple of things
try {
Thread.sleep(10*1000);
} catch (InterruptedException ex) {
Logger.getLogger(myApp.class.getName()).log(Level.SEVERE, null, ex);
}
}
我现在想给用户一个机会,通过单击按钮来恢复执行,甚至在时间结束之前。 使用“Thread.sleep()”可以吗?或者还有另一种方法可以暂停应用程序并恢复它?
最佳答案
使用CountDownLatch
Public Class myApp
{
static CountDownLatch countDownLatch = new CountDownLatch(1);
static public main()
{
try {
countDownLatch.await(10000, TimeUnit.MILLISECONDS);
} catch (InterruptedException ex) {
// Logging
}
}
}
您可以在点击恢复按钮时调用 countDownLatch.countDown()
方法
关于java - 如何在时间到之前唤醒线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18972387/