成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

java非公平鎖是什么

這篇文章主要介紹“java非公平鎖是什么”,在日常操作中,相信很多人在java非公平鎖是什么問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”java非公平鎖是什么”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比滿洲網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式滿洲網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋滿洲地區(qū)。費(fèi)用合理售后完善,十年實(shí)體公司更值得信賴。

1、非公平鎖不能保證鎖的獲取是按照請(qǐng)求鎖的順序進(jìn)行的。這可能會(huì)導(dǎo)致某個(gè)或某些線程永遠(yuǎn)得不到鎖。

2、CPU喚醒線程的費(fèi)用可以降低,整體吞吐效率會(huì)很高。但是可能會(huì)有線程長(zhǎng)時(shí)間甚至永遠(yuǎn)得不到鎖,導(dǎo)致餓死。

實(shí)例

    /**
     * Sync object for non-fair locks
     */
    static final class NonfairSync extends Sync {
        private static final long serialVersionUID = 7316153563782823691L;
 
        /**
         * Performs lock.  Try immediate barge, backing up to normal
         * acquire on failure.
         */
        final void lock() {
            if (compareAndSetState(0, 1))
                setExclusiveOwnerThread(Thread.currentThread());
            else
                acquire(1);
        }
 
        protected final boolean tryAcquire(int acquires) {
            return nonfairTryAcquire(acquires);
        }
    }
 
    /**
     * Sync object for fair locks
     */
    static final class FairSync extends Sync {
        private static final long serialVersionUID = -3000897897090466540L;
 
        final void lock() {
            acquire(1);
        }
 
        /**
         * Fair version of tryAcquire.  Don't grant access unless
         * recursive call or no waiters or is first.
         */
        protected final boolean tryAcquire(int acquires) {
            final Thread current = Thread.currentThread();
            int c = getState();
            if (c == 0) {
                if (!hasQueuedPredecessors() &&
                    compareAndSetState(0, acquires)) {
                    setExclusiveOwnerThread(current);
                    return true;
                }
            }
            else if (current == getExclusiveOwnerThread()) {
                int nextc = c + acquires;
                if (nextc < 0)
                    throw new Error("Maximum lock count exceeded");
                setState(nextc);
                return true;
            }
            return false;
        }
    }

到此,關(guān)于“java非公平鎖是什么”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

名稱欄目:java非公平鎖是什么
文章轉(zhuǎn)載:http://jinyejixie.com/article42/gdpdhc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、外貿(mào)建站、關(guān)鍵詞優(yōu)化、標(biāo)簽優(yōu)化、域名注冊(cè)微信公眾號(hào)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁(yè)設(shè)計(jì)公司
仪征市| 姚安县| 张家港市| 雷波县| 潢川县| 九寨沟县| 宿迁市| 恩施市| 紫金县| 洛隆县| 台中县| 通江县| 澎湖县| 阆中市| 岐山县| 澎湖县| 武城县| 新巴尔虎右旗| 景宁| 台中县| 宿迁市| 子长县| 扶余县| 饶平县| 河津市| 汝州市| 同德县| 湖州市| 浠水县| 延庆县| 松阳县| 原阳县| 玛纳斯县| 石首市| 麻江县| 方山县| 淮南市| 黑河市| 江源县| 通榆县| 普兰县|