java timertask定时器为什么部署到服务器上方法会执行两边

java timertask定时器为什么部署到服务器上方法会执行两边,第1张

webxml监听配置
Java code
1
2
3
4

<!-- 定时监听 -->
<listener>
<listener-class>comnumenzqmcserviceimplTimerListener</listener-class>
</listener>
TimerListener类
Java code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

public class TimerListener implements ServletContextListener {
private Timer timer;
private TimerTaskSelf task;
/
@see 销毁
/
@Override
public void contextDestroyed(ServletContextEvent arg0) {
timercancel();
}

/
@see 创建
/
@Override
public void contextInitialized(ServletContextEvent event) {
timer = new javautilTimer(true);
task = new TimerTaskSelf(eventgetServletContext());
//执行任务指定间隔
timerscheduleAtFixedRate(task, 0, 10006050);

线程

很简单,用线程,每隔一段时间判断当前时间是否为某个时间点,

如果是则执行代码

如果不是则线程休息一段时间;

while (true)
{
DateTime exTime=;//执行时间
DateTime nowTime=DateTimeNow;//当前时间
if(nowTime>exTime)
{
//执行某代码
}
else
{
ThreadSleep(100060);//停止1分钟
}
}

上面是线程执行的代码,停止的时间及判断的时间按需要自己控制。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13464615.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-12
下一篇 2023-08-12

发表评论

登录后才能评论

评论列表(0条)

保存