前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SimpleDateFormat是线程不安全的

SimpleDateFormat是线程不安全的

作者头像
悠扬前奏
发布2021-02-25 17:17:19
2000
发布2021-02-25 17:17:19
举报
文章被收录于专栏:悠扬前奏的博客

示例

代码语言:javascript
复制
@Slf4j
class Test {
    
    private static final SimpleDateFormat FORMATTER = new SimpleDateFormat("yyyy-MM-dd");

    public static void main(String[] args) {
        
        ExecutorService executorService = Executors.newFixedThreadPool(10);
        for (int i = 0; i < 10; i++) {
            executorService.submit(() -> {
                Calendar calendar = Calendar.getInstance();
                String time = "2021-" + (int) (Math.random() * 10) + "-" + (int) (Math.random() * 10);
                try {
                    calendar.setTime(FORMATTER.parse(time));
                    // 根据请求中的时间往后推算月数
                    calendar.add(Calendar.MONTH, 6);
                    log.info(time + "--->" + FORMATTER.format(calendar.getTime()));
                } catch (ParseException e) {
                    e.printStackTrace();
                }
            });
        }
    }
}

结果

代码语言:javascript
复制
14:42:17.971 [pool-1-thread-9] INFO Test - 2021-3-1--->117622972-02-29
14:42:17.971 [pool-1-thread-5] INFO Test - 2021-7-7--->117622972-02-29
14:42:17.971 [pool-1-thread-8] INFO Test - 2021-4-7--->117622972-02-29
14:42:17.971 [pool-1-thread-1] INFO Test - 2021-9-9--->0007-09-01

可以看到,结果不对,也死锁了。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 示例
  • 结果
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档