threadlocal:
乙個執行緒內部的資料儲存類,可以在指定執行緒中儲存資料,資料儲存以後,只有在指定執行緒中可以獲取到儲存的資料。
先看下以下**:主要是重寫了initialvalue方法(請看下面的原始碼)
@test
public
void
test()
};//abc
system.out.
println
(threadlocal.
get())
;//建立乙個新執行緒
thread thread=
newthread()
};thread.
start()
;}
get原始碼:
首先是在獲得自己所在的執行緒,然後getmap獲得thread全域性變數(?)threadlocals(為null)。所以執行不了if。直接執setinitialvalue方法。也就是我們重寫的方法。然後在該執行緒建立乙個threadlocalmap物件。
public t get()
}return
setinitialvalue()
;}
threadlocalmap getmap
(thread t)
private t setinitialvalue()
android原始碼 鍵盤訊息處理機制
鍵盤訊息處理模型 1 wms統一管理window,它包含了inputmanager變數,其對應c 層的nativeinputmanager 2 c 層的nativeinputmanager包含 inputmanger型別變數,3 c 層的inputmanager物件包含inputreader inp...
Android訊息機制
looper執行緒 主人 的 message queue 郵箱 唯一的管理人員 handler快遞小哥 跟管理人員looper溝通,送 push 新郵件 訊息 讓管理人員looper代簽扔進郵箱 message queue,也接收管理人員從郵箱拿出來的件。message queue 訊息佇列 主人的...
android 訊息機制
color green 一 角色描述 1.looper 乙個執行緒可以產生乙個looper物件,由它來管理此執行緒裡的message queue 訊息佇列 2.handler 你可以構造handler物件來與looper溝通,以便push新訊息到message queue裡 或者接收looper 從...