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); 之類的,這裏就有至關大的不安全因數。 html

在common-loggins 裏的SimpleLog是這麼寫的 java

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


另可參看這篇blog:
Java Best Practices – DateFormat in a Multithreading Environment 安全

相關文章
相關標籤/搜索