触发器中发生重排序

来源:13-4 适用场合2

慕桂英5194916

2020-09-12

老师好,想请问下在触发器的场景下,
//Thread A
configOptions = new HashMap();

initialized = true;

//Thread B
while(!initialized)
sleep();
// use configOPtions

如果线程A中的语句发生了重排序,initialized=true;被先执行了,在线程B被触发时不是可能A中configOptions = new HashMap();这些语句都还没执行而无法读到正确的配置吗?怎么保证initialized=true;是在线程A的最后运行的呢?

写回答

1回答

慕桂英5194916

提问者

2020-09-12

没注意到下面说的会禁止指令重排序,已经理解了,没问题了

0
0

线程八大核心+Java并发原理及企业级并发解决方案

完整的并发知识网络+丰富的工作内容分享+50余道并发高频面试题

2512 学习 · 939 问题

查看课程