(转)关于quartz的并发问题

1、quartz默认是多线程的,如果执行任务的对象不是单例的,则每个线程都会产生任务对象,这些任务对象的同时执行可能会导致并发问题

2、quartz.properties配置文件是可以自己建的,建好后通过scheduler = new StdSchedulerFactory(QUARTZ_CONFIG_PATH).getScheduler();即可生成按照自己配置文件配置的Scheduler

3、concurrent字段的含义是指如果一个线程的任务没执行完,concurrent=true表示新开一个线程,concurrent=flase表示等待当前线程执行完毕,跟单线程、多线程没关系

4、顺便说下类锁、对象锁的问题,加类锁,即静态锁,就是一个类一个锁,该类产生的所有对象在多线程访问时,同时只能一个线程访问加了synchronized的代码块,而对象锁则是,一个对象一个锁,多线程同时只有一个线程访问该对象加synchronized的代码块,跟其他对象无关,其他对象也同时可以有线程访问

 

 

 

REFS:http://blog.csdn.net/flyflyflyflyflyfly/article/details/41870489

猜你喜欢

转载自cainiao1923.iteye.com/blog/2357324