久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

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

java關(guān)于并發(fā)模型中的兩種鎖知識點詳解

瀏覽:10日期:2022-08-14 18:43:27
1、悲觀鎖

悲觀鎖假設(shè)最壞的情況(如果果你不鎖門,那么搗蛋鬼就會闖入并搞得一團糟),只有在確保其他線程不受干擾(獲得正確的鎖)的情況下才能執(zhí)行。

一般實現(xiàn)如獨占鎖等。

安全性更高,但中低并發(fā)性效率更低。

2、樂觀鎖

樂觀鎖通過沖突檢查機制判斷更新過程中是否存在其他線程干擾。如果存在,操作將失敗,重試(也可以不重試)。

CAS等常見實現(xiàn)。

一些樂觀鎖削弱了一致性,但在中低并發(fā)性下效率大大提高。

知識點擴展:

并行與分布式編程

關(guān)注的是復(fù)雜軟件系統(tǒng)的構(gòu)造,“復(fù)雜”是指多線程、分布式與GUI程序

在鎖與同步這一節(jié)中,詳細(xì)介紹了如何設(shè)計線程安全的ADT

并發(fā)

在我們的并發(fā)介紹中,我們看到了兩種并發(fā)編程模型:共享內(nèi)存和消息傳遞。

• 在共享內(nèi)存模型中 :并發(fā)模塊通過在內(nèi)存中讀取和寫入共享可變對象來進(jìn)行交互。在單個Java進(jìn)程中創(chuàng)建多個線程是我們共享內(nèi)存并發(fā)的主要示例。

• 在消息傳遞模型中:并發(fā)模塊通過通信通道相互發(fā)送不可變消息進(jìn)行交互。該通信通道可以通過網(wǎng)絡(luò)連接不同的計算機,如我們的一些初始示例:Web瀏覽,即時消息等。

對于鎖,這是Java語言提供的內(nèi)嵌機制,每個Object都有相關(guān)聯(lián)的lock;

首先來了解一下java鎖的相關(guān)概念

Java的內(nèi)置鎖:每個java對象都可以用做一個實現(xiàn)同步的鎖,這些鎖成為內(nèi)置鎖。線程進(jìn)入同步代碼塊或者代碼方法的時候會自動獲得該鎖,在退出同步代碼塊或者方法的時候則會釋放該鎖。獲得內(nèi)置鎖的唯一途徑就是進(jìn)入這個鎖的保護的同步代碼塊或者方法。

Java內(nèi)置鎖是一個互斥鎖:就是最多一個程序能夠得到這個鎖。當(dāng)多個線程想要對某個mutable類型的ADT操作時,就是修改它的值時,鎖能夠劫持這些線程的操作,阻塞他們,只有之前的線程結(jié)束調(diào)用時,釋放這個鎖,后面的線程才能獲得該鎖,否則一直等待下去。

用法

同步和鎖:阻止了多線程在同一時間內(nèi)對可變數(shù)據(jù)的共享操作,即程序員來負(fù)責(zé)多線程之間對mutable數(shù)據(jù)的共享操作,通過”同步”策略,避免多線程同時訪問數(shù)據(jù),使用鎖機制,獲取對數(shù)據(jù)的獨家mutation權(quán),其他線程被阻塞,不得訪問,即不可修改。

Java同步鎖實現(xiàn)方法

synchronized 關(guān)鍵詞修飾

wait、notify、notifyAll的使用

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 成人三级在线 | 日韩欧美精品区 | 国产精品入口麻豆www | 亚洲 欧美 日韩在线 | 韩日av在线 | 欧美高潮 | m豆传媒在线链接观看 | 成人亚洲网站 | 国产高清一区二区 | 亚洲精品久久久一区二区三区 | 国产精品成人一区二区 | av 一区二区三区 | 亚洲特级| 黄色网址免费在线 | 成人免费一区二区三区视频网站 | 青青草99| 人人爱夜夜爽日日视频 | 国产3区 | 一级片在线观看 | 久久亚洲视频 | 伊人网在线免费观看 | 在线亚洲一区二区 | 蜜桃精品久久久久久久免费影院 | 伊人福利视频 | 99精品国产高清一区二区麻豆 | 久久久久一区二区 | 91九色porny首页最多播放 | 亚洲精品福利视频 | 欧美综合激情 | 国产一二区在线观看 | 艹逼逼视频 | 国产精品一区二区三区四区 | 一本久久a久久精品亚洲 | 亚洲国产精品一区二区久久 | 狠狠的干 | 国产美女啪啪 | 国产三级在线 | 四虎永久在线 | 天天爽天天操 | 涩涩片影院 | 日本高清视频网站www |