色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

java - 讀寫鎖中 寫鎖的降級(jí)問(wèn)題

瀏覽:63日期:2023-11-08 15:16:38

問(wèn)題描述

java - 讀寫鎖中 寫鎖的降級(jí)問(wèn)題

寫鎖降級(jí)的時(shí)候 要求當(dāng)前已經(jīng)獲取到寫鎖的線程把持住寫鎖,然后獲取讀鎖,隨后釋放寫鎖。

那么為什么要求把持住寫鎖呢??

上圖中提到 “ 那么當(dāng)前線程無(wú)法感知線程T的數(shù)據(jù)更新 ” 這個(gè)如何理解。如果線程T獲取到了寫鎖,然后對(duì)數(shù)據(jù)進(jìn)行了更新,在沒(méi)有釋放寫鎖之前,當(dāng)前線程無(wú)法感知到數(shù)據(jù)的更新,這個(gè)是沒(méi)問(wèn)題的吧,但是一旦線程T釋放 寫鎖,那么當(dāng)前線程就可以感知到數(shù)據(jù)的更新了,這里理解應(yīng)該沒(méi)問(wèn)題吧?

help me to explain,thx

問(wèn)題解答

回答1:

這是在解釋鎖降級(jí)吧,首先寫鎖是獨(dú)占的,讀鎖是共享的,然后讀寫鎖是線程間互斥的,鎖降級(jí)的前提是所有線程都希望對(duì)數(shù)據(jù)變化敏感,但是因?yàn)閷戞i只有一個(gè),所以會(huì)發(fā)生降級(jí)。如果先釋放寫鎖,再獲取讀鎖,可能在獲取之前,會(huì)有其他線程獲取到寫鎖,阻塞讀鎖的獲取,就無(wú)法感知數(shù)據(jù)變化了。所以需要先hold住寫鎖,保證數(shù)據(jù)無(wú)變化,獲取讀鎖,然后再釋放寫鎖。

回答2:

寫鎖不允許其他進(jìn)程的讀寫操作,讀鎖的允許讀操作。就按你抓圖的例子來(lái)看,當(dāng)你釋放寫鎖后,T進(jìn)程獲取了寫鎖,這時(shí)你就無(wú)法獲取讀鎖了,所以要先獲取讀鎖后,再釋放寫鎖。

首先你沒(méi)理解讀寫鎖的意義,讀鎖的存在意味著不允許其他寫操作的存在。按照你提供的例子,可能存在一個(gè)事務(wù)線程不希望自己的操作被別的線程中斷,而這個(gè)事務(wù)操作可能分成多部分操作更新不同的數(shù)據(jù)(或表)甚至非常耗時(shí)。如果長(zhǎng)時(shí)間用寫鎖獨(dú)占,顯然對(duì)于某些高響應(yīng)的應(yīng)用是不允許的,所以在完成部分寫操作后,退而使用讀鎖降級(jí),來(lái)允許響應(yīng)其他進(jìn)程的讀操作。只有當(dāng)全部事務(wù)完成后才真正釋放鎖。按你的理解如果當(dāng)中寫鎖被其他線程占用,那么這個(gè)事務(wù)線程將不得不中斷等待別的寫鎖釋放。

回答3:

“ 那么當(dāng)前線程無(wú)法感知線程T的數(shù)據(jù)更新 ”

T1 讀取 數(shù)據(jù) Data時(shí),將數(shù)據(jù)值復(fù)制到當(dāng)前線程的上下文,因此其他線程沒(méi)有辦法感知數(shù)據(jù)是否更新。只要當(dāng)數(shù)據(jù)提交內(nèi)存中,即Heap中,其他線程才可以得到最新值。

標(biāo)簽: java
相關(guān)文章:
主站蜘蛛池模板: 一级高清毛片免费a级高清毛片 | 久久久久久综合成人精品 | 奇米第四狠狠777高清秒播 | 亚洲精品专区一区二区三区 | 男女男精品视频网站在线观看 | 99免费精品视频 | 完全免费在线视频 | 99久久99久久久精品久久 | www.欧美成人| 亚洲精品国产一区二区三区四区 | 成人免费在线观看视频 | 在线 | 一区二区三区四区 | 在线99 | 日本在线亚州精品视频在线 | 午夜香港三级a三级三点 | 久久毛片视频 | 一级aaa级毛片午夜在线播放 | 欧美视频网站在线观看 | 韩国欧美一级毛片 | 99精品视频在线视频免费观看 | 中国一级毛片免费观看 | 九九国产视频 | 国产欧美日韩精品高清二区综合区 | 中文字幕在线观看国产 | 干欧美女人| 亚洲精品成人 | 免费一级毛片麻豆精品 | 福利视频午夜 | 日韩a无吗一区二区三区 | 黄色福利网 | 欧美在线精品一区二区三区 | 亚洲国产一区二区三区最新 | 成人午夜爽爽爽免费视频 | 国产成人精品午夜免费 | 欧美一级美片在线观看免费 | 三级网站视频在线观看 | 日本加勒比在线视频 | 日本高清一本二本三本如色坊 | 亚洲高清视频免费 | 精品国产乱码久久久久久一区二区 | 美国毛片毛片全部免费 |