在tij中的volatile中有这么一句话:
当一个域依赖于它之前的值时(如自增), 那么volatile就无法工作了. 如果某个域的值受到其他域的值的限制, 那么volatile也无法工作, 例如Range类的lower和upper边界值必须遵循lower<=upper
这段话想要表达的意思是什么?
认证高级PHP讲师
通俗的說,標記為volatile的值,可能不可預料的被改變,因此不可以緩存,每次應該從主存中讀取。 自增操作,在讀取和寫入之間,這個值有可能改變,因此無法寫入正確的結果。 同樣,這個值改變不受控,所以可能不滿足不變式。
說的應該是volatile不能保證操作的原子性吧
volatile
參閱:java中volatile關鍵字的含義
通俗的說,標記為volatile的值,可能不可預料的被改變,因此不可以緩存,每次應該從主存中讀取。
自增操作,在讀取和寫入之間,這個值有可能改變,因此無法寫入正確的結果。
同樣,這個值改變不受控,所以可能不滿足不變式。
說的應該是
volatile
不能保證操作的原子性吧參閱:java中volatile關鍵字的含義