使用timer定时器线程同步问题

时间:2021-04-19 00:10:32
在我的类中设置了3个Timer定时器(Timer1,Timer3,Timer10),3个定时器分别设置执行的时间是1分钟,3分钟,10分钟,在这3个定时器的TimerTask里面都执行一个synchronized的同步函数操作。
现发现执行一段时间之后3分钟的定时器的线程会死掉,程序不再执行Timer3的TimerTask,请问有什么方法可以监控定时器的线程状态,然后重新启动该线程呢???

9 个解决方案

#1


UP

#2


sleep()
start

#3


如果是这样,建议你做一个管理这3个的线程,来管理他们的状态

实际上是不会死掉的,我觉得你还是多看看代码,里面是不是本身就有问题?

#4


up

#5


miaoliujun(傲龙) ( ) 信誉:176  2006-07-21 12:56:00  得分: 0  
 
 
   如果是这样,建议你做一个管理这3个的线程,来管理他们的状态

实际上是不会死掉的,我觉得你还是多看看代码,里面是不是本身就有问题?
  
 
====================================================================
同意
另外其实我感觉timer并不好用,不如直接是线程

#6


你一个类有3个synchronized,同时只能执行一个synchronized方法,如果你前两个线成出现循环执行,没WAIT的话,你肯定第3个不能执行啊.不行,楼主把代码贴出来

#7


to flyhappy(乘风飞翔) 
如果你前两个线成出现循环执行,没WAIT的话,你肯定第3个不能执行啊
————但是当前面一个执行完这个同步函数之后会释放资源,处于WAIT状态的那个线程就可以执行这个方法了,不可能说是永远不执行了

#8


3个 timer? 有些多。
j2me,毕竟不是PC。

#9


to cangwu_lee(小橙子) 
    程序需要按照3个不同频率执行自己相关的任务,不用3个 timer 的话有什么好方法可以提供吗??

#1


UP

#2


sleep()
start

#3


如果是这样,建议你做一个管理这3个的线程,来管理他们的状态

实际上是不会死掉的,我觉得你还是多看看代码,里面是不是本身就有问题?

#4


up

#5


miaoliujun(傲龙) ( ) 信誉:176  2006-07-21 12:56:00  得分: 0  
 
 
   如果是这样,建议你做一个管理这3个的线程,来管理他们的状态

实际上是不会死掉的,我觉得你还是多看看代码,里面是不是本身就有问题?
  
 
====================================================================
同意
另外其实我感觉timer并不好用,不如直接是线程

#6


你一个类有3个synchronized,同时只能执行一个synchronized方法,如果你前两个线成出现循环执行,没WAIT的话,你肯定第3个不能执行啊.不行,楼主把代码贴出来

#7


to flyhappy(乘风飞翔) 
如果你前两个线成出现循环执行,没WAIT的话,你肯定第3个不能执行啊
————但是当前面一个执行完这个同步函数之后会释放资源,处于WAIT状态的那个线程就可以执行这个方法了,不可能说是永远不执行了

#8


3个 timer? 有些多。
j2me,毕竟不是PC。

#9


to cangwu_lee(小橙子) 
    程序需要按照3个不同频率执行自己相关的任务,不用3个 timer 的话有什么好方法可以提供吗??