gpt4 book ai didi

java - "Happens-before"Java相关volatile字段说明

转载 作者:行者123 更新时间:2023-11-29 03:29:29 26 4
gpt4 key购买 nike

我正在研究 Java 并发性并找到了以下资源以供引用,

http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/package-summary.html

http://docs.oracle.com/javase/tutorial/essential/concurrency/memconsist.html

我对关于 Happens-before 关系的声明有点困惑,

A write to a volatile field happens-before every subsequent read of that same field. Writes and reads of volatile fields have similar memory consistency effects as entering and exiting monitors, but do not entail mutual exclusion locking.

我对上面声明中加粗的部分表示不清楚。

谁能告诉我它与该声明相关的确切含义是什么?

最佳答案

进入/退出监视器会触发一个happens-before 屏障,就像访问一个volatile 变量一样,但它们也会触发互斥锁。 互斥(或互斥)确保如果有多个线程试图跨越屏障,一个线程可能会被锁定,直到另一个线程释放互斥锁。

volatile 变量具有happens-before 特性但没有任何锁定。

关于java - "Happens-before"Java相关volatile字段说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19118052/

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