DateFormat 的多线程问题

DateFormat不是线程安全的,在jdk中是这么写的:
Synchronization
Date formats are not synchronized. It is recommended to create separate format instances for each thread. If multiple threads access a format concurrently, it must be synchronized externally.

但是在项目中,我们为了省事,一般都会创建一个DateFormat的static对象,然后 dateFormatter.format(now); 之类的,这里就有相当大的不安全因数。

在common-loggins 里的SimpleLog是这么写的

String dateText;
synchronized(dateFormatter) {
    dateText = dateFormatter.format(now);
}


另可参看这篇blog:
Java Best Practices – DateFormat in a Multithreading Environment


你可能感兴趣的:(DateFormat 的多线程问题)