为了代替synchronized, volatile赋值有什么应用场景吗

来源:13-3 适用场合1

ych_1997

2019-11-21

这小节的的volatile用法觉得不是很符合应用场景,

  1. 各线程既然修改了共享变量,同时各线程还有保证不先读再赋值,条件比较严苛,什么时候会用到
  2. 使用布尔值干预线程阻塞也不可取,我能不能认为涉及到读取的多线程操作,volatile都力不从心
  3. 主观原因是想跟面试官解释volatile关键字,能引申到业务上
写回答

1回答

悟空

2019-11-21

对于boolean等基本类型,只要加了volatile,那么直接赋值就是线程安全的,条件确实有些苛刻,不过volatile的应用场景确实就是比原子类和synchronized要少的,但是你可以搜一下源码里的volatile,应用还是比较广泛的。下面小节还举例了第二种应用场景,作为触发器,你可以看下。

0
1
ych_1997
非常感谢!
2019-11-21
共1条回复

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

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

2512 学习 · 939 问题

查看课程