溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

java中的線程同步介紹

發(fā)布時(shí)間:2020-06-18 13:41:01 來(lái)源:億速云 閱讀:134 作者:鴿子 欄目:編程語(yǔ)言

什么是線程?

我們可以在計(jì)算機(jī)上運(yùn)行各種計(jì)算機(jī)軟件程序。每一個(gè)運(yùn)行的程序可能包括多個(gè)獨(dú)立運(yùn)行的線程(Thread)。

線程(Thread)是一份獨(dú)立運(yùn)行的程序,有自己專用的運(yùn)行棧。線程有可能和其他線程共享一些資源,比如,內(nèi)存,文件,數(shù)據(jù)庫(kù)等。

當(dāng)多個(gè)線程同時(shí)讀寫同一份共享資源的時(shí)候,可能會(huì)引起沖突。這時(shí)候,我們需要引入線程“同步”機(jī)制,即各位線程之間要有個(gè)先來(lái)后到,不能一窩蜂擠上去搶作一團(tuán)。

線程同步的介紹

線程同步的真實(shí)意思和字面意思恰好相反。線程同步的真實(shí)意思,其實(shí)是“排隊(duì)”:幾個(gè)線程之間要排隊(duì),一個(gè)一個(gè)對(duì)共享資源進(jìn)行操作,而不是同時(shí)進(jìn)行操作。

因此,關(guān)于線程同步,需要牢牢記住的第一點(diǎn)是:線程同步就是線程排隊(duì)。同步就是排隊(duì)。

線程同步的目的就是避免線程“同步”執(zhí)行。

關(guān)于線程同步,需要牢牢記住的第二點(diǎn)是 “共享”這兩個(gè)字。只有共享資源的讀寫訪問(wèn)才需要同步。如果不是共享資源,那么就根本沒(méi)有同步的必要。

關(guān)于線程同步,需要牢牢記住的第三點(diǎn)是,只有“變量”才需要同步訪問(wèn)。如果共享的資源是固定不變的,那么就相當(dāng)于“常量”,線程同時(shí)讀取常量也不需要同步。至少一個(gè)線程修改共享資源,這樣的情況下,線程之間就需要同步。

關(guān)于線程同步,需要牢牢記住的第四點(diǎn)是:多個(gè)線程訪問(wèn)共享資源的代碼有可能是同一份代碼,也有可能是不同的代碼;無(wú)論是否執(zhí)行同一份代碼,只要這些線程的代碼訪問(wèn)同一份可變的共享資源,這些線程之間就需要同步。

以上就是java中關(guān)于線程同步的理解的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注億速云其它相關(guān)文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI