日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java的ThreadLocal类的使用方法

發布時間:2023/12/13 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java的ThreadLocal类的使用方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

java的ThreadLocal類的使用方法,ThreadLocal是一個支持泛型的類,用在多線程中用于防止并發沖突問題。

比如以下的一個樣例,就是用于線程添加1,可是相互不沖突

package com.test.threadlocal;import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors;class Local {private static ThreadLocal<Integer> num=new ThreadLocal<Integer>(){protected synchronized Integer initialValue(){return 1;}};public static void add(){num.set(num.get()+1);}public static int get(){return num.get();} }class SelfThread extends Thread {public void run(){for(int i=0;i<1000;i++){System.out.println(this.getName()+" "+Local.get());this.yield();Local.add();}} } public class MyThreadLocal {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubExecutorService exec=Executors.newCachedThreadPool();for(int i=0;i<5;i++){exec.execute(new SelfThread());}exec.shutdown();}}

輸出結果

Thread-3 ?973
Thread-1 ?808
Thread-3 ?974
Thread-1 ?809
Thread-3 ?975
Thread-1 ?810
Thread-3 ?976
Thread-1 ?811
Thread-3 ?977
Thread-1 ?812
Thread-3 ?978
Thread-1 ?813
Thread-3 ?979
Thread-1 ?814
Thread-3 ?980
Thread-1 ?815
Thread-3 ?981
Thread-1 ?816
Thread-3 ?982
Thread-1 ?817
Thread-3 ?983
Thread-1 ?818
Thread-3 ?984
Thread-1 ?819
Thread-3 ?985
Thread-1 ?820
Thread-3 ?986
Thread-1 ?821
Thread-3 ?987
Thread-1 ?822
Thread-3 ?988
Thread-1 ?823
Thread-3 ?989
Thread-1 ?824
Thread-3 ?990
Thread-1 ?825
Thread-3 ?991
Thread-1 ?826
Thread-3 ?992
Thread-1 ?827
Thread-3 ?993
Thread-1 ?828
Thread-3 ?994
Thread-1 ?829
Thread-3 ?995
Thread-1 ?830
Thread-3 ?996
Thread-1 ?831
Thread-3 ?997
Thread-1 ?832
Thread-3 ?998
Thread-1 ?833
Thread-3 ?999
Thread-1 ?834
Thread-3 ?1000
Thread-1 ?835
Thread-1 ?836
Thread-1 ?837
Thread-1 ?838
Thread-1 ?839
Thread-1 ?840
Thread-1 ?841
Thread-1 ?842
Thread-1 ?843
Thread-1 ?844
Thread-1 ?845
Thread-1 ?846
Thread-1 ?847
Thread-1 ?848
Thread-1 ?849
Thread-1 ?850
Thread-1 ?851
Thread-1 ?852
Thread-1 ?853
Thread-1 ?854
Thread-1 ?855
Thread-1 ?856
Thread-1 ?857
Thread-1 ?858
Thread-1 ?859
Thread-1 ?860
Thread-1 ?861
Thread-1 ?862
Thread-1 ?863
Thread-1 ?864
Thread-1 ?865
Thread-1 ?866
Thread-1 ?867
Thread-1 ?868
Thread-1 ?869
Thread-1 ?870
Thread-1 ?871
Thread-1 ?872
Thread-1 ?873
Thread-1 ?874



我們發現。線程會相互切換,可是每一個線程都保持了添加1的順序,說明沒有線程之間的相互干擾。


轉載于:https://www.cnblogs.com/lxjshuju/p/7403794.html

總結

以上是生活随笔為你收集整理的java的ThreadLocal类的使用方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。