首页 > 试题广场 >

在Java并发编程中,以下哪些操作具有happens-bef

[不定项选择题]
在Java并发编程中,以下哪些操作具有happens-before关系?
  • 对volatile变量的写操作happens-before于后续对该变量的读操作
  • Thread.start()调用happens-before于被启动线程中的任何操作
  • 一个线程中的所有操作happens-before于其他任何线程中的操作
  • 对一个锁的unlock操作happens-before于后续对同一个锁的lock操作
如果 A happens-before B 那么A的执行结果对B可见并且A的执行顺序一定先于B
- A:volatile本来就是为了保持可见性的,所以写操作的结果一定会对后续读操作可见
- B:JMM保证主线程在start()之前的操作对新线程可见
- C:JMM不会保证线程A的操作对线程B可见,线程之间默认是隔离的
- D:释放锁前会刷新主内存,获取锁后会清空工作内存重新读取
发表于 2026-05-08 21:28:42 回复(0)