Thread

extends Thread 和 implements Runable區別
thread通過繼承Thread實現的類,類內成員變量是線程間不共享的,是否使用threadLocal無區別。因為每次使用這種類時,都是new新的類。Thread t = new extThread();
thread通過重寫runable接口的類,類內成員變量是可以線程間共享的。因為當使用時候類只new了一次。ImplThread it = new ImplThread();Thread t = new Thread(it);

ThreadLocal
可以將類中處于共享內存/主內存的變量,在不同線程中互斥。
原理及內存泄露風險-由于其和thread生命周期同步,key=null而value仍存在,thread結束才會被回收value

Thread中有個成員變量 ThreadLocal.Threadlocalmap類型

Thread.class

該成員變量通過Threadlocal管理賦值,ThreadLocalMap是一個類似hashmap的結構,key為threadlocal實例自身

ThreadLocal$ThreadLocalMap.class
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容