基本上,我想做的是制作一个计时器,在x秒后运行一个特定的TimerTask,但是TimerTask可以重新安排计时器在y秒后执行任务。下面是一个示例,它在我试图在TimerTask run中调度此任务的行上给出了一个错误“线程中的异常”Timer-0“java.lang.IllegalStateException:任务已调度或已取消”。
import java.util.Timer;
import java.util.TimerTask;
public class JavaReminder {
public JavaReminder(int seconds) {
Timer timer = new Timer();
timer.schedule(new RemindTask(timer, seconds), seconds*2000);
}
class RemindTask extends TimerTask {
Timer timer;
int seconds;
RemindTask(Timer currentTimer, int sec){
timer = currentTimer;
seconds = sec;
}
@Override
public void run() {
System.out.println("ReminderTask is completed by Java timer");
timer = new Timer();
timer.schedule(this, seconds*200);
System.out.println("scheduled");
}
}
public static void main(String args[]) {
System.out.println("Java timer is about to start");
JavaReminder reminderBeep = new JavaReminder(2);
System.out.println("Remindertask is scheduled with Java timer.");
}
}
使用新的提醒任务
,而不是现有任务。
它应该是
timer.schedule(new RemindTask(timer, seconds), seconds*200);
而不是
timer.schedule(this, seconds*200);
我有一个Java的计时器任务来生成每日报告。当我通过linux终端调用Java类(调度定时器任务),而不是在给定时间调度第一次运行时,它会在命令执行后立即运行。有人能建议为什么会这样吗... 我使用的计划它。 忘了补充一下,我使用的是java 1.5,这里是def方法 代码片段:
但是我不能在一个计时器中处理不同的“计时器任务”。我试图将计时器任务对象添加到构造函数中,但是当我将新的计时器任务(RemindTask1)对象作为参数(内部类的实例)传递时,出现编译错误。 以下是它如何处理一项任务: 但是我完全被多个任务应该如何创建然后运行所困扰。 但是这不起作用,我不知道出了什么问题。当我将新的RemindTask2()作为参数传递时,我遇到了编译错误。
我的计时器任务没有正常工作。我计划每3秒钟重复一次特定的任务,但这并没有发生。 根据Java文件: 计划(TimerTask任务、长延迟、长周期)。将指定的任务安排为重复的固定延迟执行,从指定的延迟后开始。随后的执行大约按规定的时间间隔定期进行。 但我只有一个“新任务!!!!”控制台打印 我是不是遗漏了什么? 谢谢 更新: 我将尝试在这里粘贴每一段相关的代码,从上到下执行。 开始:
我使用Timer和TimerTask为聊天应用程序长轮询新消息。我想研究两种“稍微”不同的可能性: 1:计时器声明为局部变量 *问题:每次调用该方法时,我都会看到创建了一个新线程,[Timer-1]、[Timer-2]等等。。在Eclipse调试窗口中,即使在getLastMessages(..)之后,它们似乎都在运行完成运行并向客户端返回值。如果计时器实际使用线程,并且在几次事务之后,服务器最终
我已经使用java创建了特定于时区的计划任务事件。我的密码是贝娄。 但是问题是当调用这个方法时,它会很快运行这个任务。我需要每天12点在亚洲/科伦坡时区运行这项工作。那要怎么做?
定时器 在传统的操作系统中,定时器是其中一个基础而重要的功能.它提供了基于时间事件的调度机制。在ucore 中,时钟(timer)中断给操作系统提供了有一定间隔的时间事件,操作系统将其作为基本的调度和计时单位(我们记两次时间中断之间的时间间隔为一个时间片,timer splice)。 基于此时间单位,操作系统得以向上提供基于时间点的事件,并实现基于时间长度的睡眠等待和唤醒机制。在每个时钟中断发生时