📝 第4章测试:volatile关键字

检验你对volatile内存语义和应用的掌握程度

10道题目 建议时间:15分钟 及格分数:70分
1 关于volatile关键字的特性,以下说法正确的是?
2 volatile变量的可见性是通过什么机制实现的?
3 以下哪种内存屏障的开销最大?
4 在双重检查锁定模式中,为什么instance变量必须声明为volatile?
5 根据happens-before规则,以下代码中线程B能否看到x=1的修改?
class Example { int x = 0; volatile boolean flag = false; // 线程A执行 void writerA() { x = 1; // 1 flag = true; // 2 } // 线程B执行 void readerB() { if (flag) { // 3 int y = x; // 4 } } }
6 以下哪种场景最适合使用volatile?
7 volatile写操作会在哪些位置插入内存屏障?
8 以下关于volatile和synchronized性能比较的说法,正确的是?
9 以下代码中,哪个操作不是原子的,需要额外的同步措施?
10 在什么情况下应该考虑使用volatile而不是synchronized?
0
正在计算分数...