站長資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        java面試——樂觀鎖和悲觀鎖

        java面試——樂觀鎖和悲觀鎖

        面試題目:

        樂觀鎖和悲觀鎖的區(qū)別

        (學(xué)習(xí)視頻分享:java教學(xué)視頻)

        一、樂觀鎖

        總是認為不會產(chǎn)生并發(fā)問題,每次去取數(shù)據(jù)的時候總認為不會有其他線程對數(shù)據(jù)進行修改,因此不會上鎖,但是在更新時會判斷其他線程在這之前有沒有對數(shù)據(jù)進行修改,一般會使用版本號機制或CAS操作實現(xiàn)

        version方式:

        一般是在數(shù)據(jù)表中加上一個數(shù)據(jù)版本號version字段,表示數(shù)據(jù)被修改的次數(shù),當數(shù)據(jù)被修改時,version值會加一。當線程A要更新數(shù)據(jù)值時,在讀取數(shù)據(jù)的同時也會讀取version值,在提交更新時,若剛才讀取到的version值為當前數(shù)據(jù)庫中的version值相等時才更新,否則重試更新操作,直到更新成功。

        update table set x=x+1, version=version+1 where id=#{id} and version=#{version};

        (相關(guān)面試題推薦:java面試題及答案)

        CAS操作方式:

        即compare and swap 或者 compare and set,涉及到三個操作數(shù),數(shù)據(jù)所在的內(nèi)存值,預(yù)期值,新值。當需要更新時,判斷當前內(nèi)存值與之前取到的值是否相等,若相等,則用新值更新,若失敗則重試,一般情況下是一個自旋操作,即不斷的重試。

        二、悲觀鎖

        總是假設(shè)最壞的情況,每次取數(shù)據(jù)時都認為其他線程會修改,所以都會加鎖(讀鎖、寫鎖、行鎖等),當其他線程想要訪問數(shù)據(jù)時,都需要阻塞掛起??梢砸揽繑?shù)據(jù)庫實現(xiàn),如行鎖、讀鎖和寫鎖等,都是在操作之前加鎖,在Java中,synchronized的思想也是悲觀鎖。

        三、適用場景

        悲觀鎖:比較適合寫入操作比較頻繁的場景,如果出現(xiàn)大量的讀取操作,每次讀取的時候都會進行加鎖,這樣會增加大量的鎖的開銷,降低了系統(tǒng)的吞吐量。

        樂觀鎖:比較適合讀取操作比較頻繁的場景,如果出現(xiàn)大量的寫入操作,數(shù)據(jù)發(fā)生沖突的可能性就會增大,為了保證數(shù)據(jù)的一致性,應(yīng)用層需要不斷的重新獲取數(shù)據(jù),這樣會增加大量的查詢操作,降低了系統(tǒng)的吞吐量。

        總結(jié):兩種所各有優(yōu)缺點,讀取頻繁使用樂觀鎖,寫入頻繁使用悲觀鎖。

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
        主站蜘蛛池模板: 国产精品合集一区二区三区| 久久精品女人天堂AV麻| 国产精品99久久精品爆乳| 少妇人妻偷人精品无码视频新浪| 99久久精品国产一区二区蜜芽| 在线观看国产精品日韩av| 久久久久这里只有精品| 四虎国产精品永久地址99新强| 精品无码av一区二区三区| 久久亚洲精品无码观看不卡| 亚洲精品一二区| 91视频国产精品| 亚洲一级Av无码毛片久久精品 | 国产成人精品综合久久久| 国产伦精品免编号公布| 日韩精品人成在线播放| 久久精品国产精品亚洲艾草网美妙| 777欧美午夜精品影院| 国产精品高清一区二区三区不卡| 久久精品中文无码资源站| 亚洲国产精品久久电影欧美| 亚洲欧洲精品成人久久奇米网| 精品人妻V?出轨中文字幕| 国产国拍亚洲精品福利| 久久久精品一区二区三区| 国产精品素人搭讪在线播放| 国产精品对白刺激久久久| 国产精品无码无卡在线播放| 国产麻豆精品一区二区三区v视界| 日韩精品无码一区二区中文字幕| 中国国产精品| 亚洲AV无码成人精品区蜜桃| 熟女精品视频一区二区三区| 老司机67194精品线观看| 日韩精品区一区二区三VR | 亚洲福利精品一区二区三区| 亚洲AV无码乱码精品国产| 亚洲精品尤物yw在线影院| 亚洲精品卡2卡3卡4卡5卡区| 久久Av无码精品人妻系列| 国产精品美女久久久m|