国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java 線程鎖詳細介紹及實例代碼

2019-11-26 13:23:15
字體:
來源:轉載
供稿:網友

java 線程鎖

在Java線程中運用synchronized關鍵字來達到同步的

synchronized可以鎖方法,鎖類,鎖對象,鎖代碼塊

方法鎖

// 加在方法上面的同步鎖是this  public synchronized void print() {    System.out.println("同步方法");    try {      Thread.sleep(3000);    } catch (InterruptedException e) {      e.printStackTrace();    }  }

類鎖

public synchronized void print(String msg) {    // 類鎖    synchronized (MyThread.class) {      System.out.println(msg);      try {        Thread.sleep(3000);      } catch (InterruptedException e) {        e.printStackTrace();      }    }  }

對象鎖

以賣火車票為例

public class Window extends Thread {  public Window(String name) {    super(name);  }  static int tick = 100;  static String obj = new String();  @Override  public void run() {    // 開始賣票    while (tick > 0) {      // 同步代碼塊      // 一把鎖 鑰匙      // 所有的線程 必須在這里排隊      synchronized (obj) {        if (tick > 0) {          System.out.println(getName() + "賣出了第【" + tick + "】張票");// 失去了cpu資源          tick--;        }      }      try {        Thread.sleep(100);      } catch (InterruptedException e) {        e.printStackTrace();      }    }  }}

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 北京市| 红安县| 雅安市| 龙州县| 大名县| 麦盖提县| 叙永县| 巨野县| 乌苏市| 拉孜县| 桐乡市| 慈溪市| 富川| 吕梁市| 宜都市| 横峰县| 利川市| 梅河口市| 驻马店市| 永安市| 桑日县| 蒙城县| 苍溪县| 信阳市| 闽清县| 红河县| 怀安县| 盘锦市| 鄂州市| 东平县| 聂荣县| 梨树县| 天台县| 周口市| 张家口市| 棋牌| 恭城| 永康市| 舒城县| 漠河县| 平昌县|