当前位置: 首页 > news >正文

AtomicBoolean 作用

AtomicBoolean是 Java 并发包 (java.util.concurrent.atomic) 里的一个“线程安全布尔”。
一句话:它就是一个可以安全地被多线程同时读/写的布尔值,而且比直接用synchronizedvolatile自己加锁更轻量、更快。


为什么需要它
普通boolean在多线程下出现“写-读”竞争时,读线程可能永远看不到写线程的改动(因为 CPU 缓存、指令重排)。
volatile boolean能解决“可见性”,但做不到“原子复合操作”(例如“检查再改”)。
AtomicBoolean把“可见性 + 原子性”都做了,还提供了一组 CAS(Compare-And-Set)原子操作,不用自己加锁。


常用 API(就这几个)

java

复制

AtomicBoolean flag = new AtomicBoolean(true); flag.get(); // 读 flag.set(false); // 写 flag.compareAndSet(true, false); // CAS:期望值= true 时才改成 false,成功返回 true flag.getAndSet(false); // 先返回旧值,再设新值,原子完成 flag.lazySet(false); // 比 set 更弱一致性的写,单线程自增场景偶尔用

在前面的 JavaFX 场景里用它干嘛
只是想做一个“人工输入” 标志位,防止监听器把代码里setText当成用户输入再触发一次逻辑。
因为界面更新始终发生在 JavaFX Application Thread,单线程,用volatile boolean其实也行;但AtomicBoolean语义更清晰、线程安全习惯写法,拷贝到别的多线程代码里也不会出错。


一句话总结
AtomicBoolean= “线程安全的布尔开关”,提供原子读-改-写操作,不用自己synchronized

http://www.jsqmd.com/news/212349/

相关文章:

  • 二进制重构嵌入(Binary Reconstructive Embedding)压缩函数实现详解
  • 和谐哈希(Harmonious Hashing)学习算法详解
  • 印巴的“0”与美委的“0”
  • MATLAB实现谱哈希(Spectral Hashing)编码函数详解
  • 人-AI协同体系的构建
  • MBA必看!9个降AIGC工具推荐,高效应对AI检测
  • 白箱、黑箱到灰箱,神经科学迎来新物种:不再复刻大脑,而是成为大脑的AI代言人
  • Manus 爆火之后,我梳理了现在最火的 10 大 AI 智能体
  • 力扣96 不同的二叉搜索树 java实现
  • 【评委确认】蔡超 泰佩思琦数字化与技术副总裁丨第八届年度金猿榜单/奖项评审团专家
  • 二分法排查:通过禁用模块或数据分段定位
  • 144本!计算机人工智能领域SCI汇总
  • 掌握AI应用架构师领域上下文工程,提升AI智能体性能的有效方法
  • 美亚 4.7 星评,专家力荐,用 28 道题搞定算法核心能力!
  • 讯飞输入法 v15.0.5 纯净去限制版下载 解锁高级版 1 分钟 400 字语音输入带你飞
  • SHAREit 茄子快传下载 无网极速传输神器 安卓跨平台文件互传工具
  • 【光子AI】MCP 的 streamable_http 与 SSE 前后区别是什么:原理剖析和源代码详解
  • docker部署kkFileView实现文件预览功能
  • Linux信号处理函数中断流程分析
  • 吐血推荐!继续教育AI论文写作软件TOP9:选对工具轻松过关
  • 24v转100v 功率350w 12v转200v300v400v500v直流dcdc高压电源模块
  • [特殊字符]️_开发效率与运行性能的平衡艺术[20260107163415]
  • RAG优化完全指南:从检索到生成的实战技巧,程序员必学!建议收藏
  • ModBus协议——可用A810C-L400M30无线LORA数传电台
  • 德州仪器在CES首次展示新型汽车半导体及开发资源,提升车型的安全性和自动驾驶能力
  • 2025年终总结 - 微分几何助力突破具身智能发展的瓶颈
  • RAG技术2025年演进:从检索增强生成到上下文引擎,程序员必学大模型关键技术
  • 星巴克中国与亚朵集团达成合作推出联合会员计划 | 美通社头条
  • Python斐波那契数列代码示例
  • 五大 AI 获客软件推荐:适配不同场景的精准获客解决方案