建议收藏 Java线程同步的四种方式详解( 二 )


建议收藏 Java线程同步的四种方式详解

文章插图
建议收藏 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();}} 
建议收藏 Java线程同步的四种方式详解

文章插图
建议收藏 Java线程同步的四种方式详解

文章插图
以上
作者简介陈睿|mikechen,10年+大厂架构经验,《BAT架构技术500期》系列文章作者,专注于互联网架构技术 。
阅读mikechen的互联网架构更多技术文章合集
Java并发|JVM|MySQL|Spring|Redis|分布式|高并发?

推荐阅读