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