关于多线程修改布尔值的疑问

来源:3-8 钩子方法

慕粉0100204486

2020-01-06

图片描述

老师,isPaused的类型是boolean,对于boolean类型的赋值操作是原子操作;如果在视频的例子里面,isPaused加上关键字 volatile保证可见性,那么,这里是否可以不用加锁,就可以保证多线程修改的安全性呢?

写回答

1回答

悟空

2020-01-06

666,小伙伴分析得好,完全正确。小伙伴对可见性和原子性理解的很透彻,给你点赞!你是学习了我之前的课吗?这里使用锁的第二个原因是还利用到了unpaused这个Condition对象。

3
4
悟空
回复
慕沐3053333
因为Condition对象需要在锁里操作。
2020-04-07
共4条回复

深度解密Java并发工具,精通JUC,成为并发多面手

JUC全方位讲解,构建并发工具类知识体系

1599 学习 · 573 问题

查看课程