談談Threadlocal(本地線程)

ThreadLocal是的作用是提供線程的局部變量。ThreadLocal的核心機制:

  • 每個Thread線程內部都有一個Map。ThreadLocalMap(ThreadLocal的靜態類 )
  • Map裏面存儲線程本地對象(key)和線程的變量副本(value)
  • 但是,Thread內部的Map是由ThreadLocal維護的,由ThreadLocal負責向map獲取和設置線程的變量值。

所以對於不同的線程,每次獲取副本值時,別的線程並不能獲取到當前線程的副本值,形成了副本的隔離,互不干擾。

首先根據Thread.currentThread ()獲取到inheritableThreadLocals(即ThreadLocalMap,他是Thread的一個變量),然後將this(即最上面代碼的dfThreadLocal對象)作爲key(或索引)獲取到真正的值T(就是SimpleDateFormat對象)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章