在活动启动时,我想循环使用以下方法。我想只在每个方法或线程完成后移动到下一个方法。一旦Check游戏方法完成,我希望循环重新开始。
我怎样才能做到这一点?
加载游戏方法() 可运行的计时器(线程) 检查游戏方法()
答案 0 :(得分:0)
http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html
你可以使用thread.join();等待另一个线程结束,然后线程将在完成后再次启动 比如
function()
{
Thread t = new Thread();
t.start();
t.join(); //waits for run to finish
}
public void run()
{
dosomethinghere();
}
答案 1 :(得分:0)
如果需要等待多个异步任务完成,则创建一个用任务数初始化的CountDownLatch对象,将此对象传递给任务,并在原始线程上调用await()。其他线程在完成任务时必须在CountDownLatch对象上调用countDown()。
初始化为N的CountDownLatch可用于使一个线程等待,直到N个线程完成某个操作,或者某个操作已完成N次。