Java 中新建一个Timer类,调用的它的schedule方法执行TimerTask类中run()的内容,但是同时系统会继续
Java中新建一个Timer类,调用的它的schedule方法执行TimerTask类中run()的内容,但是同时系统会继续执行schedule函数后的代码,怎样才能做到...
Java 中新建一个Timer类,调用的它的schedule方法执行TimerTask类中run()的内容,但是同时系统会继续执行schedule函数后的代码,怎样才能做到run()中的代码执行完之后,再执行schedule后的代码?求解答
展开
4个回答
展开全部
线程可以用join()
Timer类我没有找到
你可以用相互通信的方法
--------------------------------------------------------------------------
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class TestTimer {
public static void main(String[] args) throws Exception {
Timer t = new Timer();
MyTimerTask task = new MyTimerTask();
t.schedule(task, new Date());
while (true) {
if (task.isStop) {
t.cancel();
System.out.println("out");
break;
} else {
Thread.sleep(500);
}
}
}
}
class MyTimerTask extends TimerTask {
boolean isStop = false;
public void run() {
int i = 0;
while (i++ < 10) {
System.out.println(i);
}
isStop = true;
}
}
Timer类我没有找到
你可以用相互通信的方法
--------------------------------------------------------------------------
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class TestTimer {
public static void main(String[] args) throws Exception {
Timer t = new Timer();
MyTimerTask task = new MyTimerTask();
t.schedule(task, new Date());
while (true) {
if (task.isStop) {
t.cancel();
System.out.println("out");
break;
} else {
Thread.sleep(500);
}
}
}
}
class MyTimerTask extends TimerTask {
boolean isStop = false;
public void run() {
int i = 0;
while (i++ < 10) {
System.out.println(i);
}
isStop = true;
}
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
额,用Thread.sleep(5000);停5秒,在执行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在线程启动的语句之后加上join()方法。
你能给出schedule()方法的代码吗?不然我也不好给出确切的回答啊。
你能给出schedule()方法的代码吗?不然我也不好给出确切的回答啊。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这两个线程只要通过某种方式同步就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询