3、并发产生的问题
2021-09-06 本文已影响0人
金石_832e
经典案例买票
public class TestTicket implements Runnable{
// 票数量
private int ticketCount = 10;
@Override
public void run() {
while (true){
if(ticketCount<=0){
break;
}
try {
// 模拟延时操作
Thread.sleep(200);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName()+"买了"+ticketCount-- +"号票");
}
}
public static void main(String[] args) {
TestTicket testTicket = new TestTicket();
new Thread(testTicket,"张三").start();
new Thread(testTicket,"李四").start();
new Thread(testTicket,"黄牛党").start();
}
}
image.png
多个线程操作同一个资源时出现不安全的现象,如何解决见后续