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

Java多線程編程概述
Java多線程的安全問題
Java多線程同步
Java多線程間的通信
Java線程Lock
Java多線程管理
保障線程安全的設計技術
Java鎖的優化及注意事項
Java多線程集合
【Java多線程】單例模式與多線程

Java公平鎖與非公平鎖

大多數情況下,鎖的申請都是非公平的, 如果線程1與線程2都在請求鎖A,當鎖A可用時, 系統只是會從阻塞隊列中隨機的選擇一個線程, 不能保證其公平性。

公平的鎖會按照時間先后順序,保證先到先得, 公平鎖的這一特點不會出現線程饑餓現象。

synchronized內部鎖就是非公平的. ReentrantLock重入鎖提供了一個構造方法:ReentrantLock(boolean fair) ,當在創建鎖對象時實參傳遞true可以把該鎖設置為公平鎖. 公平鎖看起來很公平,但是要實現公平鎖必須要求系統維護一個有序隊列,公平鎖的實現成本較高,性能也低. 因此默認情況下鎖是非公平的. 不是特別的需求,一般不使用公平鎖。

package com.wkcto.lock.method;

import java.util.concurrent.locks.ReentrantLock;

/**
 * 公平 鎖與非公平鎖
 */
public class Test01 {
//    static ReentrantLock lock = new ReentrantLock();        //默認是非公平鎖
    static ReentrantLock lock = new ReentrantLock(true);        //定義公平鎖

    public static void main(String[] args) {
        Runnable runnable = new Runnable() {
            @Override
            public void run() {
                while (true){
                    try {
                        lock.lock();
                        System.out.println(Thread.currentThread().getName() + " 獲得了鎖對象");
                    }finally {
                        lock.unlock();
                    }
                }
            }
        };

        for (int i = 0; i < 5; i++) {
            new Thread(runnable).start();
        }
        /*
            運行程序
                1)如果是非公平鎖, 系統傾向于讓一個線程再次獲得已經持有的鎖, 這種分配策略是高效的,非公平的
                2)如果是公平鎖, 多個線程不會發生同一個線程連續多次獲得鎖的可能,保證了公平性
         */
    }
}

 

全部教程
主站蜘蛛池模板: chinese国产一区二区 | 狠狠狠狠狠狠狠狠 | 婷婷精品在线 | 日本一级特黄大一片免 | 不卡精品国产_亚洲人成在线 | 国产国拍亚洲精品永久不卡 | 亚洲在线激情 | 国产精品久久在线观看 | 亚洲欧美综合乱码精品成人网 | 久热re国产手机在线观看 | 国产精品播放 | 国产a毛片高清视 | 久久这里有精品 | 欧美精品午夜毛片免费看 | 日日干天天射 | 久久99中文字幕伊人 | 亚洲精品一区二区久久这里 | 在线免费h| 玖玖福利 | 国产成人禁片免费观看视频 | 一本到在线观看视频不卡 | 日本成人中文字幕 | 在线观看中文字幕第一页 | 欧美男女视频 | 亚洲人成在线精品不卡网 | 日韩短视频 | 涩色涩| 国产成人一区二区三区在线播放 | 182午夜在线观看 | www久久爱com | 亚洲精品123区在线观看 | 国产一区欧美二区 | 12至16末成年毛片视频 | 亚洲高清中文字幕 | 久久综合偷偷噜噜噜色 | 国产片欧美片亚洲片久久综合 | 香蕉视频网站在线播放 | 色综合久久久久久 | 毛片在线免费视频 | 咪咪爱在线观看 | 成人国产在线视频 |