大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 Java多線程鎖是什么

Java多線程鎖是什么

更新時間:2020-08-20 12:18:44 來源:動力節點 瀏覽1547次


Java多線程鎖是什么?這個問題就由動力節點java培訓機構的小編來為大家解答。


Java多線程鎖


Java中的鎖有以下幾種:


一、可重入鎖:


1. 當一個線程再次獲取它自己已經獲取的鎖時,如果不被阻塞,則說明該鎖是可重入鎖,也就是只要該線程獲取了該鎖,那么可以無限次數地進入被該鎖鎖住的代碼里。相反,如果被阻塞了,說明是不可重入鎖。


2. synchronized內部鎖是可重入鎖。可重入鎖的原理:在鎖內部維護一個線程標示,用來標示該鎖目前被哪個線程占用。


當一個線程獲取了該鎖時。計數器的值會變成1,這時其他線程再來獲取該鎖時會發現鎖的所有者不是自己而被阻塞掛起。但是當獲取了該鎖的線程再次獲取鎖時發現鎖擁有者是自己,就會把計數器值加+1,當釋放鎖后計數器值-1。當計數器的值為0時,鎖里面的線程標示被重置為null,這時被阻塞的線程會被喚醒來競爭獲取該鎖。


二、死鎖


死鎖:當一個線程永遠的持有一把鎖,并且其他線程都嘗試來獲得這把鎖時,就會發生死鎖。


多個線程互相擁有鎖,互不釋放鎖,造成線程死鎖


可以通過cmd命令窗口中輸入jconsole命令來檢測線程情況,查看死鎖。


三、自旋鎖


自旋鎖:當前線程在獲取鎖時,如果發現鎖已經被其他線程占有,它不會馬上阻塞自己,在不放棄CPU使用權的情況下,多次嘗試獲取(默認次數是10,可以通過使用-XX:PreBlockSpinsh參數設置該值),很有可能在后面的幾次嘗試中其他線程已經釋放了鎖。而如果嘗試指定的次數后仍沒有獲取到鎖,則當前線程才會被阻塞掛起。


自旋鎖是使用CPU時間換取線程阻塞與調度的開銷,但是很有可能這些CPU時間白白浪費了。


四、Lock鎖


1. Lock鎖需要顯示地獲取lock()和釋放鎖unlock(),繁瑣,但是代碼編寫靈活。


Synchronized不需要顯示地獲取和釋放鎖,簡單。


2. 使用Lock可以方便的實現公平性;


3. Lock可以非阻塞的獲取鎖,能被中斷的獲取鎖,也能超時獲取鎖;


五、獨占鎖和共享鎖


1. 根據鎖只能被單個線程持有還是能被多個線程共同持有,鎖可以分為獨占鎖和共享鎖。


獨占鎖:它保證任何時候都只有一個線程能得到鎖,ReetrantLock就是以獨占方式實現的。


共享鎖:它可以同時由多個線程持有,如ReadWriteLock讀寫鎖,它允許一個資源可以被多個線程同時進行操作。


2. 獨占鎖是一種悲觀鎖,由于每次訪問資源都先加上互斥鎖,這就限制了并發性,因為讀操作并不會影響數據的一致性,不存在線程安全問題,而獨占鎖只允許在同一時間由一個線程讀取數據,其他線程必須等待當前線程釋放鎖才能進行讀取。


3. 共享鎖是一種樂觀鎖,它放寬了加鎖的條件,允許多個線程同時進行讀操作。


Java多線程鎖是什么


通過上述相信大家對Java多線程鎖已經有所了解,如果想了解更多相關信息,可以到動力節點官網中的技術文檔中進行在線學習。


提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 中文字幕一区二区三区 精品 | 在线免费福利 | 国产在线精品二区赵丽颖 | 一级黄色毛片子 | 手机在线看片国产日韩生活片 | 一区二区三区亚洲视频 | 久热精品男人的天堂在线视频 | 国产日韩欧美一区二区三区综合 | 999国产精品999久久久久久 | 99久久香蕉国产线看观香 | 免费精品精品国产欧美在线 | 亚洲成人在线观看视频 | 精品国免费一区二区三区 | 在线观看视频中文字幕 | 亚洲精品色综合久久 | 久久国产精品无码网站 | 国产精片 | 天天玩天天干 | 夜夜夜爽爽爽久久久 | 最新地址四虎www4hutv | 久久精品国产99国产精品 | 久久国产精品久久国产精品 | 亚洲精品国产一区二区三区在 | 女人18级毛片久久 | 亚洲一一在线 | 久久美剧免费在线观看 | 免费aⅴ视频 | 最新视频 - 88av| 欧美午夜毛片a级在线 | 免费爱爱| 在线观看中文字幕国产 | 久久久久久亚洲精品 | 一级特黄aa大片欧美小说 | 久久精品人人做人人爱爱 | 久久我们这里只有精品国产4 | 国产免费一区二区三区在线观看 | 久久久久中文 | 欧美精品亚洲精品日韩专 | 在线观看视频色 | 国产精品成人免费视频 | 日本中文字幕在线播放 |