SimpleDateFormat 线程非安全

      这段时间一直在做微博爬虫这块的开发,做这块必用就是多线程。

      其中有一功能模块就是抽取微言的时间模块,如date="2012/10/30 11:30:30",每次用SimeDateFormat转换成Date时总有近3/5000的转换失败率,比如出现0001/09/01 00:00:03,在再三审查多线程控制的时候,没发现同步那里出现问题。

      最后查到了转换对象SimpleDateFormat身上,我在封装的对象DateUtil中的成员变量设成了static的形式,虽然DateUtil有多个对象,但是SimpleDateFormat对象却只有一个,所以每次有20以上线程转换的时候就会出现意外的转换的失败情况,即SimpleDateFormat是线程非安全的。简单的测试样便就不实际写了。

      希望对相似状况的同志们有点帮助。

     

你可能感兴趣的:(java)