亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? fairgenericobjectpool.java

?? 一個(gè)基于lucene&heritrix的搜索引擎
?? JAVA
?? 第 1 頁 / 共 2 頁
字號(hào):
    /**     * Create a new <tt>FairGenericObjectPool</tt> using the specified values.     * @param factory the (possibly <tt>null</tt>)PoolableObjectFactory to use to create, validate and destroy objects     * @param maxActive the maximum number of objects that can be borrowed from me at one time (see {@link #setMaxActive})     * @param whenExhaustedAction the action to take when the pool is exhausted (see {@link #setWhenExhaustedAction})     * @param maxWait the maximum amount of time to wait for an idle object when the pool is exhausted an and <i>whenExhaustedAction</i> is {@link #WHEN_EXHAUSTED_BLOCK} (otherwise ignored) (see {@link #setMaxWait})     * @param maxIdle the maximum number of idle objects in my pool (see {@link #setMaxIdle})     * @param minIdle the minimum number of idle objects in my pool (see {@link #setMinIdle})     * @param testOnBorrow whether or not to validate objects before they are returned by the {@link #borrowObject} method (see {@link #setTestOnBorrow})     * @param testOnReturn whether or not to validate objects after they are returned to the {@link #returnObject} method (see {@link #setTestOnReturn})     * @param timeBetweenEvictionRunsMillis the amount of time (in milliseconds) to sleep between examining idle objects for eviction (see {@link #setTimeBetweenEvictionRunsMillis})     * @param numTestsPerEvictionRun the number of idle objects to examine per run within the idle object eviction thread (if any) (see {@link #setNumTestsPerEvictionRun})     * @param minEvictableIdleTimeMillis the minimum number of milliseconds an object can sit idle in the pool before it is eligable for evcition (see {@link #setMinEvictableIdleTimeMillis})     * @param testWhileIdle whether or not to validate objects in the idle object eviction thread, if any (see {@link #setTestWhileIdle})     * @param softMinEvictableIdleTimeMillis the minimum number of milliseconds an object can sit idle in the pool before it is eligable for evcition with the extra condition that at least "minIdle" amount of object remain in the pool. (see {@link #setSoftMinEvictableIdleTimeMillis})     */    public FairGenericObjectPool(PoolableObjectFactory factory, int maxActive, byte whenExhaustedAction, long maxWait, int maxIdle, int minIdle, boolean testOnBorrow, boolean testOnReturn, long timeBetweenEvictionRunsMillis, int numTestsPerEvictionRun, long minEvictableIdleTimeMillis, boolean testWhileIdle, long softMinEvictableIdleTimeMillis) {        super(factory, maxActive, whenExhaustedAction, maxWait, maxIdle,                minIdle, testOnBorrow, testOnReturn,                timeBetweenEvictionRunsMillis, numTestsPerEvictionRun,                minEvictableIdleTimeMillis, testWhileIdle,                softMinEvictableIdleTimeMillis);        _borrowerQueue = Collections.synchronizedList(new LinkedList());    }        //-- ObjectPool methods ------------------------------------------    /**      *      * @see org.apache.commons.pool.ObjectPool#borrowObject()     */    public Object borrowObject() throws Exception {        assertOpen();        long starttime = System.currentTimeMillis();                                try {            synchronized(this) {                // use borrowerQueue                _borrowerQueue.add(Thread.currentThread());                                for(;;) {                    ObjectTimestampPair pair = null;                        // Only allow current thread to receive pool object if                    // thread is top of queue                     boolean eligible = _borrowerQueue.get(0)==Thread.currentThread();                    if(eligible) {                        // if there are any sleeping, just grab one of those                        try {                            pair = (ObjectTimestampPair)(_pool.removeFirst());                        } catch(NoSuchElementException e) {                            ; /* ignored */                        }                    }                        // otherwise                    if(null == pair) {                        // check if we can create one                        // (note we know that the num sleeping is 0, else we wouldn't be here)                        if(eligible && (_maxActive < 0 || _numActive < _maxActive)) {                            // allow new object to be created                        } else {                            // the pool is exhausted                            // or current thread is ineligible due to fairness                            switch(_whenExhaustedAction) {                                case WHEN_EXHAUSTED_GROW:                                    // allow new object to be created                                    break;                                case WHEN_EXHAUSTED_FAIL:                                    throw new NoSuchElementException("Pool exhausted");                                case WHEN_EXHAUSTED_BLOCK:                                    try {                                        if(_maxWait <= 0) {                                            wait();                                        } else {                                            // this code may be executed again after a notify then continue cycle                                            // so, need to calculate the amount of time to wait                                            final long elapsed = (System.currentTimeMillis() - starttime);                                            final long waitTime = _maxWait - elapsed;                                            if (waitTime > 0)                                            {                                                wait(waitTime);                                            }                                        }                                    } catch(InterruptedException e) {                                        // ignored                                    }                                    if(_maxWait > 0 && ((System.currentTimeMillis() - starttime) >= _maxWait)) {                                        throw new NoSuchElementException("Timeout waiting for idle object");                                    } else {                                        continue; // keep looping                                    }                                default:                                    throw new IllegalArgumentException("WhenExhaustedAction property " + _whenExhaustedAction + " not recognized.");                            }                        }                    }                    _numActive++;                        // create new object when needed                    boolean newlyCreated = false;                    if(null == pair) {                        try {                            Object obj = _factory.makeObject();                            pair = new ObjectTimestampPair(obj);                            newlyCreated = true;                            return pair.value;                        } finally {                            if (!newlyCreated) {                                // object cannot be created                                _numActive--;                                notifyAll();                            }                        }                    }                        // activate & validate the object                    try {                        _factory.activateObject(pair.value);                        if(_testOnBorrow && !_factory.validateObject(pair.value)) {                            throw new Exception("ValidateObject failed");                        }                        return pair.value;                    }                    catch (Throwable e) {                        // object cannot be activated or is invalid                        _numActive--;                        notifyAll();                        try {                            _factory.destroyObject(pair.value);                        }                        catch (Throwable e2) {                            // cannot destroy broken object                        }                        if(newlyCreated) {                            throw new NoSuchElementException("Could not create a validated object, cause: " + e.getMessage());                        }                        else {                            continue; // keep looping                        }                    }                }            }         } finally {            // remove thread from queue on any method exit            _borrowerQueue.remove(Thread.currentThread());        }    }    /** Waiting borrowers (threads in #borrowObject ) */    protected List _borrowerQueue;}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕在线观看不卡| 久久综合久色欧美综合狠狠| 日本vs亚洲vs韩国一区三区 | 日本中文字幕一区| 欧美成人福利视频| 99在线热播精品免费| 午夜视频在线观看一区二区| 欧美影片第一页| 国产一区在线观看视频| 亚洲免费在线观看视频| 欧美一区二区三区思思人| 国产精品88888| 亚洲国产中文字幕| 国产欧美日韩激情| 亚洲视频中文字幕| 欧美一区二区三区四区五区| 丁香五精品蜜臀久久久久99网站 | 色狠狠一区二区三区香蕉| 免费观看成人av| 亚洲欧美日韩国产成人精品影院| 日韩欧美国产一区二区在线播放| 99国产精品99久久久久久| 免费高清不卡av| 国产天堂亚洲国产碰碰| 91精品在线免费| 国产999精品久久| 欧美a级理论片| 日日夜夜免费精品| 亚洲一二三区在线观看| 亚洲已满18点击进入久久| 亚洲日本成人在线观看| 国产精品污污网站在线观看 | 久久精品男人的天堂| 日韩一区二区三免费高清| 欧美视频在线不卡| 欧美三级韩国三级日本一级| 色视频欧美一区二区三区| 91在线精品一区二区三区| www.在线成人| 色网站国产精品| 欧洲日韩一区二区三区| 91福利在线播放| 欧美日韩二区三区| 日韩亚洲欧美综合| 亚洲精品一区二区三区影院| 日韩欧美123| 久久久久免费观看| 欧美韩国日本综合| 亚洲欧美日韩精品久久久久| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆 | 欧美一区在线视频| 亚洲一区二区成人在线观看| 亚洲精品欧美在线| 亚洲一区在线看| 日韩国产在线一| 久久国产麻豆精品| 国产一区视频导航| 成人激情图片网| 日本韩国欧美一区二区三区| 欧美三级三级三级| 日韩一级免费一区| 国产天堂亚洲国产碰碰| 亚洲视频网在线直播| 亚洲一区在线视频| 老司机午夜精品99久久| 国产精品996| 91香蕉视频在线| 欧美精品 国产精品| 日韩欧美卡一卡二| 亚洲国产精品黑人久久久| 亚洲免费观看高清完整版在线| 亚洲第一成人在线| 久久精品av麻豆的观看方式| 国产高清无密码一区二区三区| 成人福利在线看| 欧美丝袜自拍制服另类| 精品久久一区二区三区| 国产精品传媒入口麻豆| 亚洲线精品一区二区三区| 捆绑紧缚一区二区三区视频| 成年人网站91| 欧美一区二区视频在线观看2020| 久久一区二区三区四区| 亚洲乱码精品一二三四区日韩在线| 丝袜亚洲另类丝袜在线| 国产福利一区二区三区在线视频| 欧美中文字幕久久| 国产亚洲短视频| 午夜视频久久久久久| 国产成人免费av在线| 欧美理论在线播放| 国产精品久久久99| 久久精品二区亚洲w码| 91蜜桃网址入口| 久久综合色天天久久综合图片| 一区二区久久久| 国产精品中文字幕欧美| 欧美日韩国产综合久久 | 亚洲女爱视频在线| 久色婷婷小香蕉久久| 色综合久久天天| 国产欧美在线观看一区| 美腿丝袜一区二区三区| 在线看国产一区| 国产精品天美传媒| 精品亚洲欧美一区| 在线播放日韩导航| 一区二区在线免费| 成人国产免费视频| 久久久精品2019中文字幕之3| 午夜精品在线看| 日本道在线观看一区二区| 国产精品丝袜黑色高跟| 欧美丰满嫩嫩电影| 一区二区三区免费看视频| 国产不卡一区视频| 精品乱码亚洲一区二区不卡| 亚洲一区二区三区爽爽爽爽爽| 99久久国产免费看| 国产网红主播福利一区二区| 久久99久久99| 欧美一区二区三区公司| 午夜精品福利一区二区蜜股av| 日本精品一区二区三区高清 | 国产欧美中文在线| 韩国成人精品a∨在线观看| 制服.丝袜.亚洲.另类.中文 | 久久9热精品视频| 6080国产精品一区二区| 香蕉乱码成人久久天堂爱免费| 色婷婷久久久亚洲一区二区三区| 国产精品萝li| 99精品欧美一区二区蜜桃免费| 国产精品久久久一区麻豆最新章节| 国产专区欧美精品| 久久亚洲精品小早川怜子| 久久精品国产99国产精品| 日韩免费电影网站| 国产一区二区视频在线| 久久久久久久电影| 成人免费不卡视频| 亚洲日本va在线观看| 一本色道综合亚洲| 亚洲国产欧美在线人成| 欧美又粗又大又爽| 日本中文字幕不卡| 亚洲精品一区二区三区精华液| 国产自产高清不卡| 国产欧美日韩麻豆91| 9久草视频在线视频精品| 综合久久一区二区三区| 欧美亚洲动漫制服丝袜| 天天做天天摸天天爽国产一区| 日韩一级完整毛片| 国产91精品免费| 亚洲精品v日韩精品| 欧美日韩三级视频| 精品综合久久久久久8888| 国产欧美综合色| 91九色02白丝porn| 日本大胆欧美人术艺术动态 | 国产精品免费视频一区| 91精品1区2区| 人人狠狠综合久久亚洲| 久久免费视频一区| 91香蕉视频mp4| 日韩影院免费视频| 久久久久久影视| 在线免费观看日本一区| 丝袜a∨在线一区二区三区不卡| 日韩精品一区二区三区视频| 国产不卡视频在线播放| 亚洲午夜久久久久久久久电影网| 欧美一级黄色录像| 成人av综合在线| 免费在线观看一区二区三区| 国产欧美一区二区精品婷婷| 欧美伊人精品成人久久综合97| 精品午夜一区二区三区在线观看 | 中文字幕av在线一区二区三区| 色国产综合视频| 久久99精品国产.久久久久久| 亚洲欧洲日韩av| 欧美岛国在线观看| a在线播放不卡| 久久国内精品视频| 一区二区三区四区精品在线视频| 日韩午夜av一区| 91成人网在线| 成人午夜免费电影| 午夜精品久久久久| 中文字幕制服丝袜成人av| 7777精品伊人久久久大香线蕉经典版下载| 国产精品乡下勾搭老头1| 午夜视频在线观看一区二区三区| 国产日韩欧美精品综合| 欧美一级高清片| 欧美主播一区二区三区美女| 成人一区二区三区| 久久国产综合精品|