App11_04_Thread子类数据共享

本文通过创建Thread子类实现三个模拟航班售票窗口的线程,展示多线程环境下共享资源的竞态条件问题。每个窗口独立售卖有限数量的机票,由于缺乏同步机制,导致同一张票被多次售出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//创建一个Thread子类,模拟航班售票窗口 --每张票被卖了3次 不科学!
class ThreadSale extends Thread {
	private int tickets = 10;// 私有变量tickets 共享数据

	public void run() {
		while (true) {
			if (tickets > 0)// 如果有票可售
				System.out.println(getName() + " 售机票第" + tickets-- + "号");
			else
				System.exit(0);
		}
	}
}

public class App11_4 {// 主类
	public static void main(String[] args) {
		ThreadSale t1 = new ThreadSale();// 创建3个ThreadSale类的对象
		ThreadSale t2 = new ThreadSale();
		ThreadSale t3 = new ThreadSale();
		t1.start();
		t2.start();
		t3.start();
	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值