日期:2014-05-18  浏览次数:20723 次

spring定时任务,启动多线程,多线程无法达到预期效果。
使用spring定时启动一个job,然后会查询数据库,启动n个线程,每个线程需要执行一系列操作。例如:
我的一个线程 需要执行两个 synchronized方法(f1和f2),输出一些内容 ,然后结束。现在输出的内容无法按照f1 f2 的顺序输出,例如:f1-- f2-- f1-- f2--,但是实际上是乱的:f1-- f1-- f2-- f2-- 等等,反正就是乱的,至于怎么个乱法是不确定的。不知道我哪里出了问题?我使用的是synchronized method(){}这种方式来实现同步的。
多线程 Spring synchronized

------解决方案--------------------
引用:
Quote: 引用:

线程之间原本就是竞争的关系。谁先谁后完全看运气

我没说线程之间谁先谁后,可能是我表述的有问题,根本问题是:一个线程访问的方法里面的操作不满足原子性


synchronized static method(){}这种方式来实现同步的。 加static