开发者社区> 问答> 正文

代码描述在java语言开发中,如何实现通过局部变量,解决SimpleDateFormat 使用过程中

代码描述在java语言开发中,如何实现通过局部变量,解决SimpleDateFormat 使用过程中的线程不安全的问题

展开
收起
huc_逆天 2021-01-11 11:12:34 847 0
1 条回答
写回答
取消 提交回答
  • 技术架构师 阿里云开发者社区技术专家博主 CSDN签约专栏技术博主 掘金签约技术博主 云安全联盟专家 众多开源代码库Commiter
    for (int i = 0; i < 100; i++) {
        // 获取当前时间
        Calendar calendar = Calendar.getInstance();
        int finalI = i;
        pool.execute(() -> {
        // SimpleDateFormat 声明成局部变量
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd
        HH:mm:ss");
        // 时间增加
        calendar.add(Calendar.DATE, finalI);
        // 通过simpleDateFormat 把时间转换成字符串
        String dateString = simpleDateFormat.format(calendar.getTime());
        // 把字符串放入Set 中
        dates.add(dateString);
        //countDown
        countDownLatch.countDown();
        });
    }
    

    SimpleDateFormat 变成了局部变量,就不会被多个线程同时访问到了,就避免了线程安全问题。

    2021-01-11 11:13:10
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载