java concurrency in practice 读书笔记

本文探讨了在多线程编程中,缺乏适当同步时内存操作可能出现的问题,并强调了使用volatile变量的潜在风险。锁机制可以确保内存可见性和原子性,而volatile变量仅能提供可见性保证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

In the absence of synchronization, the compiler, processor, and runtime can do some downright weird things to the order in which operations appear to execute. Attempts to reason about the order in which memory actions "must" happen in insufflciently synchronized multithreaded programs will almost certainly be incorrect.
线程中的非明确同步代码可能会按照非预订的顺序执行

** volatile 变量 要慎用 。 是弱化的的 Synchronized 一般是用来做一些completion, interruption, or status flag。

Locking can guarantee [b]both visibility and atomicity[/b]; volatile variables can only guarantee visibility.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值