簡體   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