繁体   English   中英

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

[英]Proof that old Date Java API is not thread safe

我一直在寻找能够演示在多线程环境中使用遗留日期或日历类时可能发生的事情的代码,但我似乎找不到任何好的例子,发现了一对使用DateFormatter但是没有任何地方只提到任何一个提到的两个类,它总是被提到它们不是线程安全但没有代码示例!

有人会善意提供一个例子吗? 也许比较线程安全的新Java 8 Date类。

首先,java Date是可变的并且保持状态 - >有一个机会Date不是线程安全的。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM