考虑编程复杂度,稳定性,可维护性,你们倾向于用TimerTask还是用thread? 一个对时间精度要求特别高的循环任务,比如只要求每几百毫秒或者几秒运行一次这种,但要求稳定性比较高,编码尽量简单,可以随时暂停,取消什么的,用TimerTask还是自己写Thread更容易呢?请不要说没什么不同,我只想知道,哪种"更"容易.我个人感觉写thread好像麻烦些,要写好多for和if,而且满容易出异常的. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用swing里的Timer更容易Timer t =new Timer(delay,new ActionListener(){ public void performent(){ //task; } });t.start(); 不要用Timertimer主张操作简单而且不重要的任务Timer实际上是两个Thread,一个是TimerQueue,它的作用只是没1毫秒notify一下,通知到时间的Timer去工作,而Timer里又有一个Thread用来发消息通知。这样看,它的准确度不会比Thread高更主要的是,Timer所使用的TimerQueue是一个单实例,也就是说一个app里面就有一个Thread用来唤醒其他的Timer。这样安全性就很低了。用if ,for虽然复杂,但能够解决你所说的“要求特别高的循环任务”。 都是Thread呀后台任务使用Quartz是最好的选择,最好和Spring集成 http://community.csdn.net/Expert/topic/5231/5231297.xml?temp=.6654474这个里面说到情况我也遇到过你看这个里面我的那个代码测试一下就知道了Timer不是很可靠,至少有些奇怪。而且整个app只有一个TimerQueue在做notify的事情比较不放心。而准确度上绝对不会比自己写的Thread效率高。 我抱歉一下,主贴里“对时间精度要求特别高”应该是 “对时间精度要求 不 特别高”只要每隔一阵子能触发一次就行。还想问一下: Timer实际上是两个Thread,一个是TimerQueue,Timer所使用的TimerQueue是一个单实例那么每个TimerTask实例对应的一个单独的thread,还是app里唯一的一个thread如果我启动了多个TimerTask,那么有没有可能是启动了多个thread在跑呢?还是这N多个TimerTask都是由一个Thread调度的,当某个TimerTask实例里运行比较耗时的工作,其他TimerTask实例就只能等待? 同意fool_leave对Timer的看法。但我还是要用Timer,简单易用。 用BoneCP连接池一秒钟入库只有5条?难道我写的程序真的这么差吗?有人能指点一下吗? java程序中连续执行insert语句在oracle数据库插入记录报错 关于System.in.read()的问题 如何把applet加载到JFrame中去. Applet中鼠标样式的问题 请问了:怎么在JTable的单元格里加JPanel? 请准确结分 java+sqlserver最让人头疼的东西!!!! 包含javaapplet的网页中.class文件一般保存在什么地方呢 请帮我看看,错在哪里? 数组问题() 为什么spring要用接口类
Timer t =new Timer(delay,new ActionListener(){
public void performent(){
//task;
}
});
t.start();
更主要的是,Timer所使用的TimerQueue是一个单实例,也就是说一个app里面就有一个Thread用来唤醒其他的Timer。这样安全性就很低了。
用if ,for虽然复杂,但能够解决你所说的“要求特别高的循环任务”。
你看这个里面我的那个代码测试一下就知道了Timer不是很可靠,至少有些奇怪。而且整个app只有一个TimerQueue在做notify的事情比较不放心。而准确度上绝对不会比自己写的Thread效率高。
只要每隔一阵子能触发一次就行。
还想问一下: Timer实际上是两个Thread,一个是TimerQueue,Timer所使用的TimerQueue是一个单实例那么每个TimerTask实例对应的一个单独的thread,还是app里唯一的一个thread如果我启动了多个TimerTask,那么有没有可能是启动了多个thread在跑呢?还是这N多个TimerTask都是由一个Thread调度的,当某个TimerTask实例里运行比较耗时的工作,其他TimerTask实例就只能等待?
但我还是要用Timer,简单易用。