ThreadLocal和synchronized的區(qū)別?
慕田峪9129951
2018-04-09 08:43:08
TA貢獻10條經(jīng)驗 獲得超3個贊
比如說一個變量使用ThreadLocal修飾,則在線程中會創(chuàng)建這個變量的副本進行操作.操作不會受另外一個線程影響.
synchronized 使用了內(nèi)部鎖, 沒次只有一個線程進行操作, 其他線程阻塞. 等待獲得鎖的線程釋放.
TA貢獻10條經(jīng)驗 獲得超1個贊
ThreadLocal 就是把變量分成很多個拷貝,每個線程擁有一個。
這里沒有所謂的最后的結果,每個線程單獨操作自己的變量,和其他的變量沒關系。
你就理解成都是各干各的,如果說真要用到跟最終結果有關系,還是老老實實用synchronized
舉報