[英]Should every read for cross thread variable to be on volatile or Atomic or being wrapped by synchronization?
我可以說如果一個變量可以被其他線程修改,那么如果沒有內存屏障,我將永遠無法安全地讀取它?
是的,差不多。 如果將(w)寫入線程T1中的變量並從線程T2中讀取(r)該變量,則需要確保(w)和(r)之間發生事前關聯,以確保()的結果w)對(r)可見。 Java內存模型定義了( JLS 17.4.5 )在關系發生之前發生的情況:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.