3 回答

zzZerOrz
TA貢獻(xiàn)101條經(jīng)驗(yàn) 獲得超28個(gè)贊
ThreadLocal存放的變量是該線程里的局部變量,synchronized操作的是各個(gè)線程的共享變量。

千歲不倒翁
TA貢獻(xiàn)10條經(jīng)驗(yàn) 獲得超3個(gè)贊
比如說(shuō)一個(gè)變量使用ThreadLocal修飾,則在線程中會(huì)創(chuàng)建這個(gè)變量的副本進(jìn)行操作.操作不會(huì)受另外一個(gè)線程影響.
synchronized 使用了內(nèi)部鎖, 沒(méi)次只有一個(gè)線程進(jìn)行操作, 其他線程阻塞. 等待獲得鎖的線程釋放.

慕仔4209126
TA貢獻(xiàn)10條經(jīng)驗(yàn) 獲得超1個(gè)贊
ThreadLocal 就是把變量分成很多個(gè)拷貝,每個(gè)線程擁有一個(gè)。
這里沒(méi)有所謂的最后的結(jié)果,每個(gè)線程單獨(dú)操作自己的變量,和其他的變量沒(méi)關(guān)系。
你就理解成都是各干各的,如果說(shuō)真要用到跟最終結(jié)果有關(guān)系,還是老老實(shí)實(shí)用synchronized
添加回答
舉報(bào)
0/150
提交
取消