gpt4 book ai didi

java - 证明旧的 Date Java API 不是线程安全的

转载 作者:行者123 更新时间:2023-11-29 04:17:00 24 4
gpt4 key购买 nike

我一直在寻找代码来演示在多线程环境中使用遗留 Date 或 Calendar 类时可能发生的事情,但我似乎找不到任何好的例子,找到了几个与 DateFormatter 但仅在任何地方提到的两个类中的任何一个都没有,总是提到它们不是线程安全的,但没有代码示例!

有好心人可以举个例子吗?也许与线程安全的新 Java 8 Date 类相比。

最佳答案

首先,java Date 是可变的并保持状态 -> Date 有可能不是线程安全的。

由于 java Date 包含状态(transient long fastTime)以及此字段的 getter 和 setter,因此 Date 有可能不是线程安全的。

但是当设置和获取一个long值不是一个原子操作?如果您在 32 位操作系统中运行代码,则将 long 设置为原始字段不是原子操作,因为 long 和 double 值被视为两个 32 位值,这就是原因。

关于java - 证明旧的 Date Java API 不是线程安全的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51700659/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com