午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁技術文章
文章詳情頁

java關于并發模型中的兩種鎖知識點詳解

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

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

一般實現如獨占鎖等。

安全性更高,但中低并發性效率更低。

2、樂觀鎖

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

CAS等常見實現。

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

知識點擴展:

并行與分布式編程

關注的是復雜軟件系統的構造,“復雜”是指多線程、分布式與GUI程序

在鎖與同步這一節中,詳細介紹了如何設計線程安全的ADT

并發

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

• 在共享內存模型中 :并發模塊通過在內存中讀取和寫入共享可變對象來進行交互。在單個Java進程中創建多個線程是我們共享內存并發的主要示例。

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

對于鎖,這是Java語言提供的內嵌機制,每個Object都有相關聯的lock;

首先來了解一下java鎖的相關概念

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

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

用法

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

Java同步鎖實現方法

synchronized 關鍵詞修飾

wait、notify、notifyAll的使用

標簽: Java
相關文章:
主站蜘蛛池模板: 亚日韩 | 亚洲h视频在线观看 | 欧美第一夜 | 国产99久久久久久免费看 | 亚洲女同一区二区 | 中文字幕一区二区不卡 | av九九| 狠狠五月 | 国产视频一区二区三区在线观看 | 91日日 | 欧美区一区二 | 麻豆网站在线 | 成年人免费黄色 | 成人在线高清视频 | 亚洲性色av | 四虎成人av | 国产精品美女一区二区三区 | 深夜国产福利 | 每日更新在线观看av | 亚洲性大片 | 午夜精品福利视频 | 黄色激情在线观看 | 中文字幕精品久久久 | 免费观看毛片网站 | 操人小视频 | 久久国产精品一区二区 | 日韩一区二区在线免费观看 | 伊人久久大香线蕉综合网站 | 成人在线免费播放 | 亚洲一区二区免费看 | 婷婷色在线观看 | 国产a免费视频 | aaa亚洲精品 | 日韩123 | 久久精品黄色片 | 欧美午夜精品久久久久久人妖 | 日本一区视频在线观看 | 国产精品一区二区三区不卡 | 亚洲一级免费视频 | 亚洲第一页在线观看 | 综合网久久 |