happen-before原则

本文详细介绍了Java内存模型中的六大happens-before规则,包括程序顺序规则、监视器锁规则、volatile变量规则等,并解释了这些规则如何确保多线程环境下的一致性和可见性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1) 程序顺序规则: 一个线程中的每个操作, happens-before于该线程中的任意后续操作。
2) 监视器锁规则: 对一个锁的解锁, happens-before于随后对这个锁的加锁。
3) volatile变量规则: 对一个volatile域的写, happens-before于任意后续对这个volatile域的
读。
4) 传递性: 如果A happens-before B, 且B happens-before C, 那么 A happens-before C。
5) start()规则: 如果线程A执行操作ThreadB.start()(启动线程B) , 那么 A线程的
ThreadB.start()操作happens-before于线程B中的任意操作。
6) join()规则: 如果线程A执行操作ThreadB.join()并成功返回, 那么线程B中的任意操作
happens-before于线程A从ThreadB.join()操作成功返回。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值