多线程Java等待计时器线程完成
我是Java多线程方面的新手,我只是实现了定时器类来在特定的时间间隔执行方法
这是我的代码:
public static void main(String[] args) {
Timer timer = new Timer();
timer.schedule(new MyTimerTask(), 3000);
//execute this code after timer finished
System.out.println("finish");
}
private static class MyTimerTask extends TimerTask {
@Override
public void run() {
System.out.println("inside timer");
}
}
但是输出是这样的:
finish
inside timer
我想要这样:
inside timer
finish
那个么,如何等待计时器线程完成,然后继续在主线程中执行代码呢?有什么建议吗
# 1 楼答案
你的问题有些模糊,最好通过Java's Concurrency Tutorial来回答,不过
你可以
使用“监控锁”
你可以
使用
CountDownLatch
你可以
使用回调函数或直接从
Timer
类调用方法