建議收藏 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|分布式|高并發?

推薦閱讀