91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java ReentrantLock的反例和正例用法介紹

發布時間:2021-09-08 09:27:45 來源:億速云 閱讀:114 作者:chen 欄目:編程語言

這篇文章主要講解了“Java ReentrantLock的反例和正例用法介紹”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Java ReentrantLock的反例和正例用法介紹”吧!

 

在finally中釋放鎖

使用 ReentrantLock 時一定要記得釋放鎖,否則就會導致該鎖一直被占用,其他使用該鎖的線程則會永久的等待下去,所以我們在使用 ReentrantLock 時,一定要在finally中釋放鎖,這樣就可以保證鎖一定會被釋放。

反例

import java.util.concurrent.locks.ReentrantLock;
 
publicclass LockExample {
    // 創建鎖對象
    privatestaticfinal ReentrantLock lock = new ReentrantLock();
    public static void main(String[] args) {
        // 加鎖操作
        lock.lock();
        System.out.println("Hello,ReentrantLock.");
        // 此處會報異常,導致鎖不能正常釋放
        int number = 1 / 0;
        // 釋放鎖
        lock.unlock();
        System.out.println("鎖釋放成功!");
    }
}

當出現異常時鎖未被正常釋放,這樣就會導致其他使用該鎖的線程永久的處于等待狀態。

正例

import java.util.concurrent.locks.ReentrantLock;
 
publicclass LockExample {
    // 創建鎖對象
    privatestaticfinal ReentrantLock lock = new ReentrantLock();
    public static void main(String[] args) {
        // 加鎖操作
        lock.lock();
        try {
            System.out.println("Hello,ReentrantLock.");
            // 此處會報異常
            int number = 1 / 0;
        } finally {
            // 釋放鎖
            lock.unlock();
            System.out.println("鎖釋放成功!");
        }
    }
}

雖然方法中出現了異常情況,但并不影響 ReentrantLock 鎖的釋放操作,這樣其他使用此鎖的線程就可以正常獲取并運行了。

感謝各位的閱讀,以上就是“Java ReentrantLock的反例和正例用法介紹”的內容了,經過本文的學習后,相信大家對Java ReentrantLock的反例和正例用法介紹這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

兴化市| 成都市| 丹巴县| 拉萨市| 固阳县| 泽州县| 隆安县| 繁峙县| 永寿县| 依安县| 论坛| 泉州市| 固原市| 南召县| 高雄市| 荔浦县| 商洛市| 娱乐| 新泰市| 淳化县| 教育| 徐水县| 浦江县| 亳州市| 铅山县| 那坡县| 兰考县| 鄂伦春自治旗| 铁岭县| 濉溪县| 万荣县| 江孜县| 绥阳县| 汤阴县| 太原市| 怀集县| 射阳县| 阿坝县| 上虞市| 岑巩县| 连山|