中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

多線程(一、線程安全案例)

發布時間:2020-07-24 13:38:21 來源:網絡 閱讀:551 作者:shayang88 欄目:編程語言

案例:

假設有四個人,頻繁地通過海關出口,規定每次只能通過一個人,通過一個人時,將通過海關的總人次加1,同時記錄該次通過人的姓名和出生地,如果出生地和名字不一致,不允許通過。

海關代碼

package com.jane.service;

/**
 * 海關入口
 */
public class GateWay {
    private int counter = 0;
    private String name = "無名";
    private String address = "無地址";
# 
    /**
     * 通行
     * @param name
     * @param address
     */
    public void pass(String name, String address) {
        this.counter++;
        this.name = name;
        this.address = address;
        checkPassport();
    }

    /**
     * 檢查護照
     */
    private void checkPassport() {
        //名字和地址匹配上才能通過
        if(!this.name.equals(this.address)) {
            System.out.println("禁止通行:" + "第" + this.counter + "人,姓名:" + this.name + ",來自:" + this.address);
        }
    }

}

人的代碼

package com.jane.service;

/**
 * 人模擬線程,循環入關
 */
public class Person extends Thread{
   private final GateWay gateWay;
   private final String name;
   private final String address;

   public Person(GateWay gateWay, String name, String address) {
       this.gateWay = gateWay;
       this.name = name;
       this.address = address;
   }

   public void run() {
       System.out.println(this.name + ",開始入關");
       while(true) {
          this.gateWay.pass(this.name, this.address);
       }
   }
}

啟動函數

System.out.println("開始入關");
        GateWay gate = new GateWay();
        new Person(gate, "張三", "張三").start();
        new Person(gate, "李四", "李四").start();
        new Person(gate, "王五", "王五").start();
        new Person(gate, "趙六", "趙六").start();

運行結果

多線程(一、線程安全案例)

線程不安全!!!!!!!!!!!!

優化后(synchronized),線程安全

多線程(一、線程安全案例)

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

壶关县| 尼木县| 阿拉善左旗| 永年县| 长葛市| 北票市| 新巴尔虎右旗| 宝丰县| 沂源县| 淄博市| 苏尼特左旗| 永济市| 崇州市| 安徽省| 平塘县| 集安市| 永城市| 葵青区| 富锦市| 织金县| 神木县| 张家口市| 安丘市| 苏尼特右旗| 罗田县| 北海市| 张家界市| 青神县| 亚东县| 海丰县| 荣昌县| 海阳市| 嘉义县| 景德镇市| 巩义市| 凤台县| 河间市| 璧山县| 东乌珠穆沁旗| 彭水| 莆田市|