建议收藏 Java线程同步的四种方式详解( 二 )
文章插图
文章插图
4.ThreadLocal实现线程同步如果使用ThreadLocal管理变量,则每一个使用该变量的线程都获得该变量的副本,副本之间相互独立,这样每一个线程都可以随意修改自己的变量副本,而不会对其他线程产生影响 , 从而实现线程同步 。
具体代码示例如下:
//只改Bank类 , 其余代码与上同public class Bank{// 创建一个线程本地变量 ThreadLocalprivate static ThreadLocal<Integer> account = new ThreadLocal<Integer>(){@Override//返回当前线程的"初始值"protected Integer initialValue(){return 100;}};public void save(int money){//设置线程副本中的值account.set(account.get()+money);}public int getAccount(){//返回线程副本中的值return account.get();}}
文章插图
文章插图
以上
作者简介陈睿|mikechen,10年+大厂架构经验,《BAT架构技术500期》系列文章作者,专注于互联网架构技术 。
阅读mikechen的互联网架构更多技术文章合集
Java并发|JVM|MySQL|Spring|Redis|分布式|高并发?
推荐阅读
- Java导出带格式的Excel数据到Word表格
- 如何通过 Java 代码隐藏 Word 文档中的指定段落
- day44-反射03
- Javascript 手写 LRU 算法
- Java 读写锁 ReadWriteLock 原理与应用场景详解
- 为什么阿里Java开发手册不推荐使用Timestamp
- 大华海康NVR录像JAVA下载及WEB播放
- iQOO8为什么不建议买_iQOO8的缺点
- 检察院一般都不建议缓刑吗 自首的量刑标准
- 怎么开微店 这些小攻略建议看下