京東一面:子線程如何獲取父線程ThreadLocal的值
這里是碼農(nóng)充電第一站,回復(fù)“666”,獲取一份專屬大禮包 真愛,請?jiān)O(shè)置“星標(biāo)”或點(diǎn)個(gè)“在看”

子線程如何獲取父線程ThreadLocal的值
京東一面」子線程如何獲取父線程ThreadLocal的值
子線程如何獲取父線程ThreadLocal的值

public?static?void?main(String[]?args)?throws?InterruptedException?{
????Thread?parentParent?=?new?Thread(()?->?{
????????ThreadLocal?threadLocal?=?new?ThreadLocal<>();
????????threadLocal.set(1);
????????InheritableThreadLocal?inheritableThreadLocal?=?new?InheritableThreadLocal<>();
????????inheritableThreadLocal.set(2);
????????new?Thread(()?->?{
????????????System.out.println("threadLocal="?+?threadLocal.get());
????????????System.out.println("inheritableThreadLocal="?+?inheritableThreadLocal.get());
????????}).start();
????},?"父線程");
????parentParent.start();
}
子線程獲取父線程中 ThreadLocal 中的值



ThreadLocalMap?getMap(Thread?t)?{
?//獲取線程自己的變量threadLocals,并綁定到當(dāng)前調(diào)用線程的成員變量threadLocals上
????return?t.threadLocals;?
}
void?createMap(Thread?t,?T?firstValue)?{
????t.threadLocals?=?new?ThreadLocalMap(this,?firstValue);
????//創(chuàng)建給ThreadLocalMap的table屬性賦值,并且將firstValue放在數(shù)組首位。
}
(完)
碼農(nóng)突圍資料鏈接
1、臥槽!字節(jié)跳動(dòng)《算法中文手冊》火了,完整版 PDF 開放下載!
2、計(jì)算機(jī)基礎(chǔ)知識(shí)總結(jié)與操作系統(tǒng) PDF 下載
3、艾瑪,終于來了!《LeetCode Java版題解》.PDF
4、Github 10K+,《LeetCode刷題C/C++版答案》出爐.PDF歡迎添加魚哥個(gè)人微信:smartfish2020,進(jìn)粉絲群或圍觀朋友圈。
評(píng)論
圖片
表情
