SImpleDateFormat线程安全问题-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

SImpleDateFormat线程安全问题

2016-03-12 10:01:27 2583 1
public class Test {
    private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

    private static class Task implements Runnable {

        public void run() {
            try {
                System.out.println(sdf.parse("2016-03-21 12:00:00").getTime());
            } catch (ParseException e) {
                e.printStackTrace();
            }
        }
    }
    public static void main(String[] args) {
        Task task = new Task();

        Thread t1 = new Thread(task);
        t1.start();
        Thread t2 = new Thread(task);
        t2.start();
        Thread t3 = new Thread(task);
        t3.start();
        Thread t4 = new Thread(task);
        t4.start();
        Thread t5 = new Thread(task);
        t5.start();
    }
}

最近才知道,如果像上面代码那样通过定义静态共享的实例来使用SimpleDateFormat是会存在线程安全问题的。
例如线程被挂死:
screenshot
或者转换的时间不对:
screenshot
然后自己尝试读JDK源码来试图分析在SimpleDateFormat的代码中,究竟是哪里的函数或者代码会引起线程不安全,但是由于水平有限,最后还是找不出。

取消 提交回答
全部回答(1)
  • juanmao
    2019-07-17 19:00:14

    SimpleDateFormat内部有一个Calendar对象引用,它用来储存日期信息,多个thread共享使用就会有线程不安全的问题

    0 0
相关问答

3

回答

对于ARMS Agent日志(路径:ArmsAgent/log)错误,有哪些常用排查方法?

2022-03-17 01:15:24 1100浏览量 回答数 3

1

回答

对于ARMS Agent日志(路径:ArmsAgent/log)错误,有哪些常用排查方法?

2022-03-17 00:58:17 270浏览量 回答数 1

1

回答

事件风暴(Event Storming)应用在哪些领域?

2021-11-26 12:41:02 151浏览量 回答数 1

1

回答

SimpleDateFormat 类应注意什么问题?

2021-11-17 23:00:59 75浏览量 回答数 1

1

回答

<body topmargin=?> 表示页面上边的可用区域大小,这句话是正确的吗?

2021-10-29 20:34:32 196浏览量 回答数 1

2

回答

Java:如何向SimpleDateFormat添加毫秒

2020-03-22 20:15:22 1235浏览量 回答数 2

1

回答

Jira Rest API:在一个或多个项目中(初学者)请求特定用户的问题

2020-01-04 16:38:05 611浏览量 回答数 1

2

回答

[@talishboy][¥20]在多线程环境下,SimpleDateFormat 是线程安全的吗?

2018-12-14 16:33:26 1641浏览量 回答数 2

1

回答

javascript和html5中有没有什么线程安全的对象?

2016-06-01 11:39:43 1758浏览量 回答数 1

1

回答

附加image时 Text View 的 Resource Id 出错

2016-02-18 10:51:07 2033浏览量 回答数 1
+关注
蛮大人123
我说我不帅他们就打我,还说我虚伪
0
文章
7733
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载