国产探花免费观看_亚洲丰满少妇自慰呻吟_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();      }    }  }}

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 庆城县| 望谟县| 平阴县| 钟山县| 周至县| 潞城市| 成都市| 平塘县| 德兴市| 武陟县| 哈巴河县| 桂林市| 延津县| 乌兰浩特市| 乌鲁木齐县| 盐城市| 北宁市| 富平县| 凤阳县| 嵩明县| 鹤庆县| 河北区| 河东区| 巴楚县| 德惠市| 宁津县| 鄯善县| 长垣县| 英超| 玉田县| 武邑县| 九寨沟县| 西藏| 垦利县| 宿州市| 阿尔山市| 麻城市| 湛江市| 内江市| 自治县| 上林县|