实现对一个银行账号的存钱与取钱操作。创建一个银行账号类Account,该类有一个余额属性:balance。分别定义存钱与取钱的方法。在取钱时,若账户余额不足时要给出余额不足的相应提示。
模拟对该账户同时进行柜台和ATM机进行存钱、取钱操作,确保能够正常执行相关操作。
//并发:两个或多个线程 同时访问一个共享资源的现象
public class Tickets implements Runnable {
int count = 100;// 总票数
public void run() {
while (true) {
// 1、给程序段加上互斥锁
synchronized (this) {
if (count < 1) {
System.out.println("票已售罄");
break;
}
count--;// 余票减1
System.out.println(Thread.currentThread().getName()
+ " 卖出了一张票,还剩" + count);
try {
Thread.sleep(50);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
public static void main(String[] args) {
Tickets t = new Tickets();
Thread a = new Thread(t, "赣州站");
Thread b = new Thread(t, "广州站");
Thread c = new Thread(t, "上海站");
a.start();
b.start();
c.start();
}
}
这里有个多线程卖票的例子,你可以参考一下
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632