tomcat + Spring, 定时器重入, 锁机制无效

    private static Object sLock = new Object();

    private static int count;

    private static AtomicInteger ai = new AtomicInteger(0);

    

public void  taskTimer(){

String tempPath = WangDianUtil.currentPathLogs + "log_"

        + DateHelper.formatDateToStr(new Date(), "yyyy-MM-dd") + ".txt";

        

        

synchronized (sLock) {

String name = ManagementFactory.getRuntimeMXBean().getName();    

WriteFile.WriteStringToFile(tempPath, "count:" + (count++) + "| ai:" + ai.incrementAndGet() + " | curr:" + System.currentTimeMillis());

WriteFile.WriteStringToFile(tempPath, "this:" + this + " | Thread:" + Thread.currentThread() + "| PID:" + name);

try {

Thread.sleep(5000);

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}



日志入下:

this:com.task.controller.TaskController@40836e31 | Thread:Thread[pool-5-thread-1,5,main]| PID:25839@pandeMacBook-Pro.local
count:12| ai:13 | curr:1490089862028
this:com.task.controller.TaskController@67a19851 | Thread:Thread[pool-1-thread-1,5,main]| PID:25839@pandeMacBook-Pro.local
count:12| ai:13 | curr:1490089867100
this:com.task.controller.TaskController@55e2e32c | Thread:Thread[pool-3-thread-1,5,main]| PID:25839@pandeMacBook-Pro.local
count:12| ai:13 | curr:1490089872109
this:com.task.controller.TaskController@40836e31 | Thread:Thread[pool-5-thread-1,5,main]| PID:25839@pandeMacBook-Pro.local
count:13| ai:14 | curr:1490089882040
this:com.task.controller.TaskController@67a19851 | Thread:Thread[pool-1-thread-1,5,main]| PID:25839@pandeMacBook-Pro.local
count:13| ai:14 | curr:1490089887113
this:com.task.controller.TaskController@55e2e32c | Thread:Thread[pool-3-thread-1,5,main]| PID:25839@pandeMacBook-Pro.local
count:13| ai:14 | curr:1490089892131
this:com.task.controller.TaskController@40836e31 | Thread:Thread[pool-5-thread-1,5,main]| PID:25839@pandeMacBook-Pro.local
count:14| ai:15 | curr:1490089902055
this:com.task.controller.TaskController@67a19851 | Thread:Thread[pool-1-thread-1,5,main]| PID:25839@pandeMacBook-Pro.local
count:14| ai:15 | curr:1490089907129
this:com.task.controller.TaskController@55e2e32c | Thread:Thread[pool-3-thread-1,5,main]| PID:25839@pandeMacBook-Pro.local
count:14| ai:15 | curr:1490089912147
this:com.task.controller.TaskController@40836e31 | Thread:Thread[pool-5-thread-1,5,main]| PID:25839@pandeMacBook-Pro.local
count:15| ai:16 | curr:1490089922075
this:com.task.controller.TaskController@67a19851 | Thread:Thread[pool-1-thread-1,5,main]| PID:25839@pandeMacBook-Pro.local
count:15| ai:16 | curr:1490089927147
this:com.task.controller.TaskController@55e2e32c | Thread:Thread[pool-3-thread-1,5,main]| PID:25839@pandeMacBook-Pro.local
count:15| ai:16 | curr:1490089932160
this:com.task.controller.TaskController@40836e31 | Thread:Thread[pool-5-thread-1,5,main]| PID:25839@pandeMacBook-Pro.local
count:16| ai:17 | curr:1490089942089
this:com.task.controller.TaskController@67a19851 | Thread:Thread[pool-1-thread-1,5,main]| PID:25839@pandeMacBook-Pro.local


确定是同一进程, 不同线程, 为啥就是锁不住呢? 静态变量也有多份实例, 无法理解, 求助............

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值