1. 程序顺序规则:
func() {
int a = 1;
int b = a;
}
b 一定能看到 a 的变化
2. 监视器锁规则:
synchronized(obj) {
do something
}
线程 A 申请锁,而在这之前的一纳秒,线程 B 正好释放了 obj 上的锁,那么 A 一定能觉察到 B 的释放
3. volatile 变量规则:
volatile a;
线程对 a 的写入一定能被后面的其它线程看到,这里的后面是指时间上的后面
4. 中断规则:
t.interrupt();
假如我调用这句话,那么 t 一定能觉察到自己中断状态的变化(catch 住 InterruptedException 或者 isInterrupted() 返回 true )
5. 线程启动规则:
start() 方法是线程执行的第一个方法
6. 线程结束规则:
当 join() 成功返回,或者 isAlive() 返回 false 时,线程所做的工作一定全都结束了
7. 终结器规则:
对象的构造函数必须在其 finalize() 执行之前完成
8. 传递性
遗憾的是,我还是搞不懂5,6,7说的到底是啥,感觉是理所当然的啊?
分享到:
相关推荐
20210218-中金公司-科技硬件行业激光雷达:车载先行,助力3D感知及交互时代.pdf
设计规范及其执行通常被称为“策略(Policies)”,SOA策略的制定以及执行过程被称为SOA治理(SOA Governance)。治理与软件架构是相关的,而且共同发挥作用: 采用相同的方式进行程序编码、确定标准、进行管理为建立...
电竞行业报告:直播先行(45页),资源名称:电竞行业报告:直播先行(45页)电竞出圈,直播先行.zip...
计算机行业点评报告:深圳先行,数字货币红包试点验证G端场景.pdf
密尔克卫-603713-深度研究报告:物流先行数字分销,本土势力快速崛起.pdf
Happens-before原则(先行发生原则) a.程序次序规则:一个线程内,按照代码顺序,书写在前面的操作先行发生于书写在后面的操作;(保证单线程,但不保证多线程); b.锁定规则:一个unlock操作先行发生于后面对同一个锁...
普华永道家族财富管理解决方案:先行一步,制胜蓝海:中国家族财富管理扬帆起航.pdf
20210414-中金公司-科技行业:场景先行,高级别自动驾驶商业化加速落地.pdf
银行2020年度策略:稳健先行,估值修复.pdf
2022年数字贸易发展研究报告:区域先行 数贸全球.pdf
海尔集团:共享模式先行
20210722-上汽奥迪-汽车行业:中国高端汽车出行生态趋势洞察,拓圈者,先见先行.pdf
科技硬件行业激光雷达:车载先行,助力3D感知及交互时代
计算机行业点评报告:深圳先行,数字货币红包试点验证G端场景
机械设备行业深度报告:交通强国先行,城轨迎黄金发展机遇期.pdf
20191219-国信证券-日化行业专题:产品先行,流量催化,资本助力
光伏设备报告:平价上网,设备先行(63页),资源名称:光伏设备报告:平价上网,设备先行(63页)光伏设备行业深度报告-平价上网,设备先行.zip...
房地产税:减税先行(交易税)、加税不易(持有税)
房地产税:减税先行(交易税)、加税不易(持有税).pdf