SellTicket.java 879 B

1234567891011121314151617181920212223242526272829303132
  1. package J20250730.demo08_synchronized;
  2. /**
  3. * @author WanJl
  4. * @version 1.0
  5. * @title SellTicket
  6. * @description
  7. * @create 2025/7/30
  8. */
  9. public class SellTicket implements Runnable{
  10. //总共100张票
  11. private int tickets = 100;
  12. Object o=new Object();
  13. @Override
  14. public void run() {
  15. while (true){
  16. //新增一个同步代码块
  17. synchronized (o){
  18. if (tickets>0){
  19. //出票过程睡10毫秒
  20. try {
  21. Thread.sleep(10);
  22. } catch (InterruptedException e) {
  23. e.printStackTrace();
  24. }
  25. //显示XX窗口成功售票
  26. System.out.println(Thread.currentThread().getName()+"售票1张,还剩"+ --tickets+"张票");
  27. }
  28. }
  29. }
  30. }
  31. }