這篇文章主要介紹java中ThreadLocal避免線程不安全的方法,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!
專注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、成都網(wǎng)站制作服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)浦城免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了成百上千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。
1、說明
ThreadLocal 翻譯是線程本地變量的意思, ThreadLocal 就是用來創(chuàng)建線程的私有(本地)變量的。
每個線程擁有自己的私有對象,這樣就可以避免線程不安全的問題了。
2、實例
import java.text.SimpleDateFormat; import java.util.Date; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; /** * ThreadLocal 解決線程不安全問題 */ public class SimpleDateFormatExample4 { // 創(chuàng)建 ThreadLocal 對象,并設(shè)置默認(rèn)值(new SimpleDateFormat) private static ThreadLocal<SimpleDateFormat> threadLocal = ThreadLocal.withInitial(() -> new SimpleDateFormat("mm:ss")); public static void main(String[] args) { // 創(chuàng)建線程池 ExecutorService threadPool = Executors.newFixedThreadPool(10); // 執(zhí)行 10 次時間格式化 for (int i = 0; i < 10; i++) { int finalI = i; // 線程池執(zhí)行任務(wù) threadPool.execute(new Runnable() { @Override public void run() { // 創(chuàng)建時間對象 Date date = new Date(finalI * 1000); // 格式化時間 String result = threadLocal.get().format(date); // 打印結(jié)果 System.out.println(result); } }); } // 任務(wù)執(zhí)行完之后關(guān)閉線程池 threadPool.shutdown(); } }
Java的基本數(shù)據(jù)類型分為:1、整數(shù)類型,用來表示整數(shù)的數(shù)據(jù)類型。2、浮點類型,用來表示小數(shù)的數(shù)據(jù)類型。3、字符類型,字符類型的關(guān)鍵字是“char”。4、布爾類型,是表示邏輯值的基本數(shù)據(jù)類型。
以上是“java中ThreadLocal避免線程不安全的方法”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
分享標(biāo)題:java中ThreadLocal避免線程不安全的方法
瀏覽地址:http://chinadenli.net/article14/ihoide.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、App設(shè)計、品牌網(wǎng)站設(shè)計、Google、面包屑導(dǎo)航、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)