有个任务就是每隔10秒钟读取某个表的数据,然后再拆分读取的数据插入到别的表中。
之前我使用了Timer每个十秒执行一次任务,但是后来莫名其妙的就无法初始化任务类,
然后我干脆用了一个死循环while(true){ A a = new A();
a.doing();//执行各种逻辑运算 Thread.sleep(10000);//线程睡眠
}上周末我跑了两天没什么问题,请问大侠们,觉得这么个写法有问题吗?
之前我使用了Timer每个十秒执行一次任务,但是后来莫名其妙的就无法初始化任务类,
然后我干脆用了一个死循环while(true){ A a = new A();
a.doing();//执行各种逻辑运算 Thread.sleep(10000);//线程睡眠
}上周末我跑了两天没什么问题,请问大侠们,觉得这么个写法有问题吗?
解决方案 »
- 关于在Redhat Enterprise Linux 5 下,request.getAttribute("javax.servlet.request.X509Certificate")为null的问题
- 项目发布问题?
- 推荐书
- 高手进进,看网上资料,有些地方不太明白,请教
- 如何获取JSP页面中的超连接字段值
- 在Web系统中,怎么实现一个定时任务。
- 急!!!struts中logic:iterate标签使用时的背景色交替更换问题!!!
- cmp1.1中的findByAge(int age1, int age2),在jb中finder标签Tab中如何配置呢?
- 关于WSAD建立CMP的findBy...方法后在建立查询描述语句时的问题!急!!!
- problem of jboss CMP.
- hibernate hql语句 插入数据到 oracle 问题!
- jsp页面分页 一句代码搞定
A a = new A(); 如果資源沒釋放完全,記憶體用量會越來越大。
還有最好有可以離開迴圈的條件,方便當作開關。
boolean fiag = true;
while(true){
if(){
}
A a = new A();
a.doing();//执行各种逻辑运算 Thread.sleep(10000);//线程睡眠
}
while(true){
if(!flag){
break;
}
A a = new A();
a.doing();//执行各种逻辑运算 Thread.sleep(10000);//线程睡眠
}然后找个地方改变flag?
a.doing最好再try catch一下。
}
这样就可以控制什么事侯去停掉线程。
死循环肯定是不推荐使用的,Java设计timer出来就是做定时器用的。
while(true){ a= new A();
a.doing();//执行各种逻辑运算 Thread.sleep(10000);//线程睡眠
}按照楼主的方式这样会不会好一点呢?把声明放在外面就不用每次都去声明了。