Synchronized的作用:能夠保證在同一時(shí)刻最多只有一個(gè)線程執(zhí)行該段代碼,以達(dá)到保證并發(fā)安全的效果。
2018-12-22
3個(gè)核心思想;
1.一把鎖只能同時(shí)被一個(gè)線程獲取,沒(méi)有拿到鎖的線程必須等待(對(duì)應(yīng)第1、5種情況)
2.每個(gè)實(shí)例都對(duì)應(yīng)有自己的一把鎖,不同實(shí)例之前互不影響;
例外:鎖對(duì)象是*.class以及synchronized修飾的是static方法的時(shí)候,所有對(duì)象共用同一把類鎖(對(duì)應(yīng)2、3、4、6種情況)
3.無(wú)論是方法正常執(zhí)行完畢或者方法拋出異常,都會(huì)釋放鎖(對(duì)應(yīng)第7種情況)
1.一把鎖只能同時(shí)被一個(gè)線程獲取,沒(méi)有拿到鎖的線程必須等待(對(duì)應(yīng)第1、5種情況)
2.每個(gè)實(shí)例都對(duì)應(yīng)有自己的一把鎖,不同實(shí)例之前互不影響;
例外:鎖對(duì)象是*.class以及synchronized修飾的是static方法的時(shí)候,所有對(duì)象共用同一把類鎖(對(duì)應(yīng)2、3、4、6種情況)
3.無(wú)論是方法正常執(zhí)行完畢或者方法拋出異常,都會(huì)釋放鎖(對(duì)應(yīng)第7種情況)
2018-12-22
我的對(duì)象鎖的方法修飾形式,我叫Thread-0
Thread-0運(yùn)行結(jié)束
我的對(duì)象鎖的方法修飾形式,我叫Thread-1
finished
Thread-1運(yùn)行結(jié)束
Thread-0運(yùn)行結(jié)束
我的對(duì)象鎖的方法修飾形式,我叫Thread-1
finished
Thread-1運(yùn)行結(jié)束
2018-12-22