//不安全的案例
//线程不安全,出现了负数,因为没有同步线程,让他们排队买票
public class UnsafeBuyTicket {
public static void main(String[] args) {
//设置线程同步
/*Thread thread=new Thread();
thread.setDaemon(true);
thread.start();
*/
BuyTicket station = new BuyTicket();
new Thread(station,"苦逼的我").start();
new Thread(station,"牛逼的你们").start();
new Thread(station,"可恶的黄牛党").start();
}
}
//买票的线程
class BuyTicket implements Runnable {
//票
private int ticketNum = 10;
boolean flag = true;//外部停止方式
@Override
public void run() {
while (true) {
try {
buy();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
//买票的方法
private void buy() throws InterruptedException {
//判断是否有票
if (ticketNum <= 0) {
return;
}
Thread.sleep(100);
System.out.println(Thread.currentThread().getName() + "买到了第" + ticketNum-- + "张票");
}
}
JAVA学习54-线程不安全案例
最新推荐文章于 2023-02-23 17:58:38 发布