多线程下SimpleDateFormat使用出错

    xiaoxiao2021-04-17  45

    风吹走了乌云 2017-04-09 20:54

    SimpleDateFormat类大家在开发过程中肯定使用过无数次了,它主要用来日期的转换与格式化,但是在多线程的环境下,使用这个类会造成数据转换及处理的不一致性,因为SimpleDateFormat类是线程不安全的。

    看一下下边这个错误使用示例:

    看运行结果:

    从控制台可以看出,使用SimpleDateFormat出错了,造成了数据不一致的问题。

    下边我们来看第一个解决方案:

    首先增加一个Util工具类

    修改我们的run方法

    再次看运行结果,全部转换成功,多运行几次,结果一样。

    接下来我们再看另一个解决方案:

    大家都知道ThreadLocal类能使线程绑定到指定的对象,使用这个类也可以解决多线程下SimpleDateFormat处理异常的情况。

    运行main,结果同样是全部转换成功。

    小知识点,与大家共同学习。

    最后,谢谢大家观看,欢迎大家多多关注、多多转发!!!

    最近会每天更新多线程类内容。

    转载请注明原文地址: https://ju.6miu.com/read-674399.html

    最新回复(0)