亚洲精品国产精品乱码视色,下载应用成人电影AVapp,成人影院下载视频

      <track id="gfhue"><i id="gfhue"></i></track><input id="gfhue"></input>

      1. 更多精彩內(nèi)容,歡迎關注:

        視頻號
        視頻號

        抖音
        抖音

        快手
        快手

        微博
        微博

        java semaphore

        文檔

        java semaphore

        java semaphore是java程序中的一種鎖機制,叫做信號量。相關的方法有:1、void acquire();2、boolean tryAcquire();3、boolean tryAcquire(int permits, long timeout, TimeUnit unit);4、int availablePermits()。
        推薦度:
        導讀java semaphore是java程序中的一種鎖機制,叫做信號量。相關的方法有:1、void acquire();2、boolean tryAcquire();3、boolean tryAcquire(int permits, long timeout, TimeUnit unit);4、int availablePermits()。

        ? ?

        java semaphore是什么?讓我們一起來了解一下吧!

        java semaphore是java程序中的一種鎖機制,叫做信號量。它的作用是操縱并且訪問特定資源的線程數(shù)量,允許規(guī)定數(shù)量的多個線程同時擁有一個信號量。

        相關的方法有以下幾個:

        1.void acquire() :從信號量獲取一個允許,若是無可用許可前將會一直阻塞等待

        2.?boolean tryAcquire():從信號量嘗試獲取一個許可,如果無可用許可,直接返回false,不會阻塞

        3.?boolean tryAcquire(int permits, long timeout, TimeUnit unit):

        在指定的時間內(nèi)嘗試從信號量中獲取許可,如果在指定的時間內(nèi)獲取成功,返回true,否則返回false

        4.int availablePermits(): 獲取當前信號量可用的許可

        semaphore構(gòu)造函數(shù):

        ?public?Semaphore(int?permits)?{
        ????????sync?=?new?NonfairSync(permits);
        ????}
        ?
        public?Semaphore(int?permits,?boolean?fair)?{
        ????????sync?=?fair???new?FairSync(permits)?:?new?NonfairSync(permits);
        ????}

        實戰(zhàn)舉例,具體步驟如下:

        public?static?void?main(String[]?args)?{
        ?
        ????????//允許最大的登錄數(shù)
        ????????int?slots=10;
        ????????ExecutorService?executorService?=?Executors.newFixedThreadPool(slots);
        ????????LoginQueueUsingSemaphore?loginQueue?=?new?LoginQueueUsingSemaphore(slots);
        ????????//線程池模擬登錄
        ????????for?(int?i?=?1;?i?{
        ?????????????????if?(loginQueue.tryLogin()){
        ?????????????????????System.out.println("用戶:"+num+"登錄成功!");
        ?????????????????}else?{
        ?????????????????????System.out.println("用戶:"+num+"登錄失敗!");
        ?????????????????}
        ????????????});
        ????????}
        ????????executorService.shutdown();
        ?
        ?
        ????????System.out.println("當前可用許可證數(shù):"+loginQueue.availableSlots());
        ?
        ????????//此時已經(jīng)登錄了10個用戶,再次登錄的時候會返回false
        ????????if?(loginQueue.tryLogin()){
        ????????????System.out.println("登錄成功!");
        ????????}else?{
        ????????????System.out.println("系統(tǒng)登錄用戶已滿,登錄失??!");
        ????????}
        ????????//有用戶退出登錄
        ????????loginQueue.logout();
        ?
        ????????//再次登錄
        ????????if?(loginQueue.tryLogin()){
        ????????????System.out.println("登錄成功!");
        ????????}else?{
        ????????????System.out.println("系統(tǒng)登錄用戶已滿,登錄失??!");
        ????????}
        ??}
        class?LoginQueueUsingSemaphore{
        ?
        ????private?Semaphore?semaphore;
        ?
        ????/**
        ?????*
        ?????*?@param?slotLimit
        ?????*/
        ????public?LoginQueueUsingSemaphore(int?slotLimit){
        ????????semaphore=new?Semaphore(slotLimit);
        ????}
        ?
        ????boolean?tryLogin()?{
        ????????//獲取一個憑證
        ????????return?semaphore.tryAcquire();
        ????}
        ?
        ????void?logout()?{
        ????????semaphore.release();
        ????}
        ?
        ????int?availableSlots()?{
        ????????return?semaphore.availablePermits();
        ????}
        }

        以上就是小編今天的分享了,希望可以幫助到大家。

        文檔

        java semaphore

        java semaphore是java程序中的一種鎖機制,叫做信號量。相關的方法有:1、void acquire();2、boolean tryAcquire();3、boolean tryAcquire(int permits, long timeout, TimeUnit unit);4、int availablePermits()。
        推薦度:
        為你推薦
        資訊專欄
        熱門視頻
        相關推薦
        java separator java sequence java serializable java serializable接口 java serialversionuid java setlayout java platform java settimeout java plug-in java sftp java plugin java pojo java portal java sha256加密 java shuffle java simhash java simpledateformat java sizeof java sm3加密 文章千古事得失寸心知是誰的名句 java selenium java selector java script java sandbox java rxjava java runtime.exec java runnable java rtp java rsa私鑰加密 java rsa公鑰加密 java pipeline java ping java phoenix java paypal java path java rsa加密 java rotate java reverse java reverse() java retrofit
        Top