`

Timer挂掉的处理方法

 
阅读更多
Timer运行几个小时后挂掉,虽然我在里面捕捉了所有异常,仍然挂掉了。
查找资料,发现Timer确实有这样的不稳定性。


解决:
java.util.concurrent.ScheduledExecutorService globalTimer = java.util.concurrent.Executors.newSingleThreadScheduledExecutor();

改用这个替代Timer
SomeTask  继承  TimerTask

globalTimer.scheduleAtFixedRate(new SomeTask(), COMMON.CHECK_REDIS_IDLE, COMMON.CHECK_REDIS_IDLE, TimeUnit.MILLISECONDS);
分享到:
评论

相关推荐

    C#中定时器停止问题

    对于 `System.Timers.Timer`,停止定时器的方法是调用 `Stop` 方法,这将取消定时器的下次触发。对于 `System.Windows.Forms.Timer`,同样也有 `Stop` 方法来关闭定时器。 然而,有些开发者可能会尝试设置 `Enabled...

    Android检测Activity或者Service是否运行的方法

    不做处理,挂掉之后,我们需要重新启动App来让它继续处理运行状态,对外暴露一个来停止监控服务的广播,这样我们想停止监控服务时,发送一个广播即可。 思路:实现一个双进程的监控服务,服务中写一个定时器 Timer ...

    c++多线程的创建挂起执行与销毁

    1. 创建一个基于对话框的应用程序。并增加如图所示控件;分别为3个进度条控件关联三个进度条类型的变量;并在对话框的初始化函数中,设定进度条的...11. 为应用程序添加WM_TIMER消息,实时更新全局变量的值到编辑框;

    windows下监控并重启某个进程

    通过以上步骤,我们可以创建一个定制的解决方案来解决Windows环境下服务挂掉后无法及时恢复的问题。这个解决方案不仅提供了基础的监控和重启功能,还具备一定的灵活性和可扩展性,可以根据具体需求进行调整和优化。 ...

    面向数据流的CAN驱动层设计.pdf

    也可以把在对应流缓冲结构中记录下需要读取的范围,然后把自己挂起在任务挂起队列中,待模块从CAN包接受队列中获取到足够长度数据后,会从任务挂起队列中按先进先出原则唤醒等待该ID数据的任务。 ioctl接口提供一些...

    华为编程开发规范与案例

    上面的问题解决起来很容易,只需在第一行代码中增加一个判断条件即可,如下:  for(i=0; i<pSysHead->dbf_coun && i ; i++) // MAX_DB_NUM=127 这样就保证了循环变量i的值在正常范围内,从而避免了对指针pDBFat...

    看门狗实现合泰(盛群)HT66Fxxx系列单片机超低功耗

    首先,看门狗定时器(Watchdog Timer, WDT)是一种重要的故障预防机制,它确保了程序的稳定运行。在HT66Fxxx系列单片机中,看门狗可以防止程序因意外的死循环或故障导致的永久挂起。设置和管理看门狗涉及以下几个...

    SSD6名词解释,系统级编程

    这是由于溢出的数据可能会覆盖掉重要的内存位置,如返回地址,从而使攻击者能够控制程序的执行流程。 #### 4. Static Memory Allocation(静态内存分配) **定义:** 静态内存分配是指在程序编译阶段就确定了所需...

Global site tag (gtag.js) - Google Analytics