Tim Cull使用Threadlocal解決了此問題,對(duì)于每個(gè)線程SimpleDateFormat不存在影響他們之間協(xié)作的狀態(tài),為每個(gè)線程創(chuàng)建一個(gè)SimpleDateFormat變量的拷貝或者叫做副本,代碼如下:
創(chuàng)建一個(gè)ThreadLocal類變量,這里創(chuàng)建時(shí)用了一個(gè)匿名類,覆蓋了initialValue方法,主要作用是創(chuàng)建時(shí)初始化實(shí)例。也可以采用下面方式創(chuàng)建;
我們看下我們覆蓋的initialValue方法:
當(dāng)然也可以使用:apache commons-lang包的DateFormatUtils或者FastDateFormat實(shí)現(xiàn),apache保證是線程安全的,并且更高效。
Powered by: BlogJava Copyright © IceWee