1. 程式人生 > >ThreadLocal類特點

ThreadLocal類特點

    ThreadLocal為解決多執行緒程式的併發問題提供了一種新的思路,其主要特點如下:

    (1)ThreadLocal的類宣告:

public class ThreadLocal<T> 

    可以看出ThreadLocal並沒有繼承自Thread,也沒有實現Runnable介面。

    (2)ThreadLocal類為每一個執行緒都維護了自己獨有的變數拷貝,每個執行緒都擁有了自己獨立的一個變數,所以ThreadLocal重要作用並不在於多執行緒間的資料共享,而是資料的獨立。

    (3)由於每個執行緒在訪問該變數時,讀取和修改的,都是自己獨有的那一份變數拷貝,不會被其他執行緒訪問, 變數被徹底封閉在每個訪問的執行緒中,所以ThreadLocal保證各個執行緒間資料安全,每個執行緒的資料不會被另外執行緒訪問和破壞。

    (4)ThreadLocal中定義了一個雜湊表用於為每個執行緒都提供一個變數的副本。