最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java中的信號量Semaphore詳細解讀

 更新時間:2023年11月20日 11:05:06   作者:tanxinji  
這篇文章主要介紹了Java中的信號量Semaphore詳細解讀,Java信號量機制可以用來保證線程互斥,創(chuàng)建Semaphore對象傳入一個整形參數(shù),類似于公共資源,需要的朋友可以參考下

Java中的信號量Semaphore

信號量機制可以用來保證線程互斥

創(chuàng)建Semaphore對象: 傳入一個整形參數(shù),類似于公共資源

常用方法:

  • acquire();獲取一個公共資源,公共資源-1,如果公共資源小于等于0阻塞等待
  • acquire(int permits);獲取permits個公共資源,公共資源-permits,如果公共資源<0阻塞等待
  • release();釋放一個公共資源,公共資源+1
  • release(int permits);釋放permits個公共資源,公共資源+permits
  • boolean tryAcquire( );嘗試獲取一個公共資源,可以獲取返回true,不可以返回false
  • boolean tryAcquire( int permits );嘗試獲取permits個公共資源,可以獲取返回true,不可以返回false
		Semaphore s = new Semaphore(1);
        s.acquire();
        s.release();

示例:

import java.util.concurrent.Semaphore;

public class SemaphoreTest {
    public static void main(String[] args) throws InterruptedException {
        Semaphore t = new Semaphore(1);

        new Thread(  ()->{
            try {
              t.acquire(  );  // 獲取
              Thread.sleep(2000);
              System.out.println(Thread.currentThread().getName()+" 執(zhí)行!");
            } catch (InterruptedException e) {
                e.printStackTrace();
            }finally {
                t.release(); //釋放
            }

        } ,"thread1" ).start();

        new Thread(  ()->{
            try {
                t.acquire();
                Thread.sleep(2000);
                System.out.println(Thread.currentThread().getName()+" 執(zhí)行!");

            } catch (Exception e) {
                e.printStackTrace();
            }finally {
                t.release(1);
            }
        } ,"thread2" ).start();



    }
}

到此這篇關于Java中的信號量Semaphore詳細解讀的文章就介紹到這了,更多相關信號量Semaphore內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Java實現(xiàn)學生管理系統(tǒng)詳解流程

    Java實現(xiàn)學生管理系統(tǒng)詳解流程

    這篇文章主要為大家詳細介紹了如何利用Java語言實現(xiàn)學生管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • idea兩側的maven-project-structure圖標不見了如何解決

    idea兩側的maven-project-structure圖標不見了如何解決

    這篇文章主要介紹了如何解決idea兩側的maven-project-structure圖標不見了問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • java中如何把實體類轉成json格式的字符串

    java中如何把實體類轉成json格式的字符串

    這篇文章主要介紹了java中如何把實體類轉成json格式的字符串問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • 實例講解Java的設計模式編程中責任鏈模式的運用

    實例講解Java的設計模式編程中責任鏈模式的運用

    這篇文章主要介紹了Java的設計模式編程中責任鏈模式的運用,講解了通過條件判斷結構來分配不同對象的責任權限,需要的朋友可以參考下
    2016-02-02
  • java后臺接受到圖片后保存方法

    java后臺接受到圖片后保存方法

    在本篇文章里小編給大家整理了關于java后臺接受到圖片后怎么保存的相關知識點,需要的朋友們參考學習下。
    2019-06-06
  • Java結合uniapp實現(xiàn)驗證碼功能的示例詳解

    Java結合uniapp實現(xiàn)驗證碼功能的示例詳解

    UniApp 是一個基于 Vue.js 的跨平臺應用開發(fā)框架,允許開發(fā)者使用統(tǒng)一的代碼庫來構建多平臺應用,這篇文章將給大家介紹Java結合uniapp實現(xiàn)驗證碼功能,文中通過詳細的代碼示例講解的非常詳細,需要的朋友可以參考下
    2024-07-07
  • 詳解Spring Cache使用Redisson分布式鎖解決緩存擊穿問題

    詳解Spring Cache使用Redisson分布式鎖解決緩存擊穿問題

    本文主要介紹了詳解Spring Cache使用Redisson分布式鎖解決緩存擊穿問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-04-04
  • SpringBoot使用Apache Tika實現(xiàn)多種文檔的內容解析

    SpringBoot使用Apache Tika實現(xiàn)多種文檔的內容解析

    在日常開發(fā)中,我們經(jīng)常需要解析不同類型的文檔,如PDF、Word、Excel、HTML、TXT等,Apache Tika是一個強大的內容解析工具,可以輕松地提取文檔中的內容和元數(shù)據(jù)信息,本文將通過SpringBoot和Apache Tika的結合,介紹如何實現(xiàn)對多種文檔格式的內容解析
    2024-12-12
  • SpringBoot+Jpa項目配置雙數(shù)據(jù)源的實現(xiàn)

    SpringBoot+Jpa項目配置雙數(shù)據(jù)源的實現(xiàn)

    本文主要介紹了SpringBoot+Jpa項目配置雙數(shù)據(jù)庫源的實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • 簡述Springboot @Async 異步方法

    簡述Springboot @Async 異步方法

    這篇文章主要介紹了Springboot @Async 異步方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2018-05-05

最新評論

苗栗县| 佛学| 于田县| 肥城市| 图们市| 平顶山市| 崇州市| 德钦县| 肥城市| 灵寿县| 乡城县| 东乌珠穆沁旗| 鄯善县| 随州市| 乃东县| 巴东县| 芮城县| 灌南县| 铜梁县| 和政县| 建阳市| 株洲市| 丹江口市| 晋州市| 慈溪市| 蕲春县| 通城县| 东明县| 松溪县| 齐齐哈尔市| 勐海县| 杭锦后旗| 寿光市| 阳西县| 仁化县| 无为县| 泗水县| 阳城县| 清河县| 嘉义县| 长宁县|