package com.cfqp; public class Account { private String idCard; private int money; public Account() { } public Account(String idCard, int money) { this.idCard = idCard; this.money = money; } public String getIdCard() { return idCard; } public void setIdCard(String idCard) { this.idCard = idCard; } public int getMoney() { return money; } public void setMoney(int money) { this.money = money; } public void drawMoney(int money) { String name = Thread.currentThread().getName(); System.out.println(name+"同学"+"来取钱啦"); if(this.money>money){ System.out.println("取出"+money+"钱"); } this.money-=money; System.out.println("剩余"+this.money); } }
package com.cfqp; public class test4 { public static void main(String[] args) { Account account= new Account("000001",100000); new thread1(account,"小明").start(); new thread1(account,"小红").start(); } } class thread1 extends Thread{ private Account account; public thread1(Account account, String name) { super(name); this.account = account; } @Override public void run() { account.drawMoney(100000); } }
线程安全问题,模拟线程安全问题案例(取款)
最新推荐文章于 2022-10-07 15:12:04 发布