首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

怎么使多个timer在同时执行时不进行并发执行而是进入某个队列进行执行

2012-05-23 
如何使多个timer在同时执行时不进行并发执行而是进入某个队列进行执行如题所示[解决办法]挺奇怪的需求,两

如何使多个timer在同时执行时不进行并发执行而是进入某个队列进行执行
如题所示

[解决办法]
挺奇怪的需求,两个招数:
1、把你要执行的那个函数加synchronized,这样JVM就会让他们排队执行了;
2、建立一个大小为1的线程池,然后timer把任务丢该线程池,线程池就会排队了。
[解决办法]
不知道你的timer里调用了什么东西,所以1L说的第一个方法用synchronized未必能解决问题,因为可能锁的不是同一个对象
可以用1L说的方法2,也可以自己做一个队列,timer到时的时候就往队列添加任务(队列可以同步),然后做一个或多个线程专门处理队列的任务

热点排行