java Timer突然中止

问题描述

不知道有没有遇到Timer突然中止的。我无法判断是否真的中止。不过从结果来看,定时器的确不执行。我查看日志at java.util.TimerThread.mainLoop(Timer.java:555)我怀疑在执行逻辑的时候抛出的异常干扰了定时器的执行。所以在代码中出现了异常,定时器就挂掉了。如果Timer真的存在这样的问题,用什么代替Timer?

解决方案

请你用ScheduledThreadPoolExecutor
解决方案二:
Java的timer在Swing或其它复杂环境中确实有问题,原先我给单位做的抽签程序,就是有问题,后来我改成多线程程序才解决问题的。

时间: 2024-09-10 10:16:46

java Timer突然中止的相关文章

Java定时任务:利用java Timer类实现定时执行任务的功能_java

一.概述 在java中实现定时执行任务的功能,主要用到两个类,Timer和TimerTask类.其中Timer是用来在一个后台线程按指定的计划来执行指定的任务. TimerTask一个抽象类,它的子类代表一个可以被Timer计划的任务,具体要执行的代码写在TimerTask需要被实现的run方法中. 二.先看一个最简单的例子 我们通过代码来说明 import java.text.SimpleDateFormat; import java.util.Date; import java.util.T

JAVA TIMER简单用法学习

Timer有两种执行任务的模式,最常用的是schedule,它可以以两种方式执行任务:1:在某个时间(Data),2:在某个固定的时间之后(int delay).这两种方式都可以指定任务执行的频率.看个简单的例子: 复制代码 代码如下: import java.io.IOException; import java.util.Timer; public class TimerTest { public static void main(String[] args){ Timer timer =

问个问题,关于JAVA TIMER

问题描述 本人目前做一个OA系统,现在想做一个定时弹出窗口的功能,想到了用TIMER,但是如何定时弹出页面呢?请各位帮帮忙,怎么弄? 解决方案 解决方案二:Java定时执行任务的三种方法希望对你有帮助解决方案三:引用1楼woshigaoshou980的回复: Java定时执行任务的三种方法http://xxtianxiaxing.javaeye.com/blog/543826http://wenku.baidu.com/view/dad102aedd3383c4bb4cd2b1.htmlhttp

JAVA TIMER简单用法学习_java

Timer有两种执行任务的模式,最常用的是schedule,它可以以两种方式执行任务:1:在某个时间(Data),2:在某个固定的时间之后(int delay).这两种方式都可以指定任务执行的频率.看个简单的例子: 复制代码 代码如下: import java.io.IOException;import java.util.Timer; public class TimerTest {     public static void main(String[] args){           T

java Timer 使用小结

Java自带的java.util.Timer类,通过调度一个java.util.TimerTask任务.这种方式可以让程序按照某一个频度执行,但不能指定时间运行.用的较少. 任务的调用通过起的子线程进行执行. java.util.Timer java.util.TimerTask 一.调用方法: (1)void java.util.Timer.schedule(TimerTask task, long delay):多长时间(毫秒)后执行任务 (2)void java.util.Timer.sc

有关JAvA TImer的使用问题

问题描述 packagecom.test.pf;importjava.text.ParseException;importjava.text.SimpleDateFormat;importjava.util.Date;importjava.util.Timer;importjava.util.TimerTask;publicclassuioextendsTimerTask{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethods

Java中Timer的用法详解_jquery

现在项目中用到需要定时去检查文件是否更新的功能.timer正好用于此处. 用法很简单,new一个timer,然后写一个timertask的子类即可. 代码如下: package comz.autoupdatefile; import java.util.Timer; import java.util.TimerTask; public class M { public static void main(String[] args) { // TODO todo.generated by zoer

android中使用线程和Timer实现字体闪烁动画

android字体闪烁动画,使用线程和Timer实现 public class ActivityMain extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); spark(); } private int clo = 0; public void spark() { final T

java 时间运算 类型转换

问题描述 java 时间运算 类型转换 获得当前时间(yy-MM-dd HH-mm-ss)t1,每天规定时间t2(HH-mm-ss) t1与t2相减运算得到int类型的数据结果 解决方案 Date().getTime() 就能将时间转为数字,我感觉你想做定时器..相见java Timer类