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

Java互斥鎖簡單實例

 更新時間:2015年07月11日 10:10:56   作者:優(yōu)雅先生  
這篇文章主要介紹了Java互斥鎖,較為詳細的分析了java互斥鎖的概念與功能,并實例描述了java互斥鎖的原理與使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了Java互斥鎖。分享給大家供大家參考。具體分析如下:

互斥鎖,常常用于多個線程訪問獨占式資源,比如多個線程同時寫一個文件,雖然互斥訪問方式不夠高效,但是對于一些應用場景卻很有意義

//沒有互斥鎖的情況(可以自己跑跑看運行結果):
public class LockDemo {
 
// private static Object lock = new Object();
// static確保只有一把鎖
  private int i = 0;
  public void increaseI() {
//   synchronized (lock) {
      for(int k=0;k<10;k++) { // 對i執(zhí)行10次增1操作
        i++;
      }
      System.out.println(Thread.currentThread().getName() + "線程,i現(xiàn)在的值:" + i);
//   }
  }
  public static void main(String[] args) {
    LockDemo ld = new LockDemo();
    int threadNum = 1000;
    // 選擇1000個線程讓結果更加容易觀測到
    MyThread[] threads = new MyThread[threadNum];
    for(int i=0;i<threads.length;i++) {
      threads[i] = new MyThread(ld);
      // 所有線程共用一個LockDemo對象
      threads[i].start();
    }
  }
}
class MyThread extends Thread {
  LockDemo ld;
   
  public MyThread(LockDemo ld) {
    this.ld = ld;
  }
  public void run() {
    ld.increaseI();
  }
}
//加上互斥鎖以后:
public class LockDemo {
  private static Object lock = new Object();
  // static確保只有一把鎖
  private int i = 0;
  public void increaseI() {
    synchronized (lock) {
      for(int k=0;k<10;k++) {
      // 對i執(zhí)行10次增1操作
        i++;
      }
      System.out.println(Thread.currentThread().getName() + "線程,i現(xiàn)在的值:" + i);
    }
  }
  public static void main(String[] args) {
    LockDemo ld = new LockDemo();
    int threadNum = 1000;
    // 選擇1000個線程讓結果更加容易觀測到
    MyThread[] threads = new MyThread[threadNum];
    for(int i=0;i<threads.length;i++) {
      threads[i] = new MyThread(ld);
      // 所有線程共用一個LockDemo對象
      threads[i].start();
    }
  }
}
class MyThread extends Thread {
  LockDemo ld;
  public MyThread(LockDemo ld) {
    this.ld = ld;
  }
  public void run() {
    ld.increaseI();
  }
}

希望本文所述對大家的java程序設計有所幫助。

相關文章

  • Springboot使用test無法啟動問題的解決

    Springboot使用test無法啟動問題的解決

    這篇文章主要介紹了Springboot使用test無法啟動問題的解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • springboot DTO字符字段與日期字段的轉換問題

    springboot DTO字符字段與日期字段的轉換問題

    這篇文章主要介紹了springboot DTO字符字段與日期字段的轉換問題,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • SpringBoot項目的測試類實例解析

    SpringBoot項目的測試類實例解析

    這篇文章主要介紹了SpringBoot項目的測試類實例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-12-12
  • spring 或者spring boot 調(diào)整bean加載順序的方式

    spring 或者spring boot 調(diào)整bean加載順序的方式

    這篇文章主要介紹了spring 或者spring boot 調(diào)整bean加載順序的方式,本文通過實例代碼講解三種調(diào)整類加載順序的方式,代碼簡單易懂,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03
  • 詳解Java面向對象中的繼承

    詳解Java面向對象中的繼承

    這篇文章主要介紹了詳解Java面向對象中的繼承,繼承提高代碼的復用性:通過繼承,子類可以直接使用父類的屬性和方法,不需要重復定義,需要的朋友可以參考下
    2023-05-05
  • Java中的@Async異步功能詳解

    Java中的@Async異步功能詳解

    這篇文章主要介紹了Java中的@Async異步功能詳解,@Async注解,可以實現(xiàn)異步處理的功能,它可以有返回值,或者直接在新線程時并行執(zhí)行一個任務,對于異步來說,它的執(zhí)行是有條件的,你需要把異步代碼塊放在單獨的類里,需要的朋友可以參考下
    2023-11-11
  • 解決SpringBoot application.yaml文件配置schema 無法執(zhí)行sql問題

    解決SpringBoot application.yaml文件配置schema 無法執(zhí)行sql問題

    這篇文章主要介紹了解決SpringBoot application.yaml文件配置schema 無法執(zhí)行sql問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • 關于java.lang.NumberFormatException: null的問題及解決

    關于java.lang.NumberFormatException: null的問題及解決

    這篇文章主要介紹了關于java.lang.NumberFormatException: null的問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • SpringBoot使用Validation包進行輸入?yún)?shù)校驗

    SpringBoot使用Validation包進行輸入?yún)?shù)校驗

    Spring Boot 自帶的 spring-boot-starter-validation 包支持以標準注解的方式進行輸入?yún)?shù)校驗,本文即關注 spring-boot-starter-validation 包所涵蓋的標準注解的使用、校驗異常的捕獲與展示、分組校驗功能的使用,以及自定義校驗器的使用,需要的朋友可以參考下
    2024-05-05
  • Java中的HashMap和Hashtable區(qū)別解析

    Java中的HashMap和Hashtable區(qū)別解析

    這篇文章主要介紹了Java中的HashMap和Hashtable區(qū)別解析,HashMap和Hashtable都實現(xiàn)了Map接口,但決定用哪一個之前先要弄清楚它們之間的區(qū)別,主要的區(qū)別有線程安全性、同步和速度,需要的朋友可以參考下
    2023-11-11

最新評論

鹤峰县| 武冈市| 南靖县| 双流县| 新龙县| 汕头市| 玉山县| 兰溪市| 潜山县| 浑源县| 彝良县| 洛扎县| 津市市| 黄浦区| 义乌市| 福海县| 孝昌县| 尚志市| 乌鲁木齐县| 冀州市| 邛崃市| 宣化县| 德庆县| 乾安县| 崇左市| 清河县| 阿坝县| 石首市| 沙雅县| 永嘉县| 慈利县| 特克斯县| 涡阳县| 甘肃省| 辽阳县| 梁平县| 台中县| 黑河市| 菏泽市| 蒲江县| 嘉黎县|