SellTicket.java 914 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. package J20250730.demo09_synchronizedMethod;
  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. @Override
  13. public void run() {
  14. while (true){
  15. boolean b = synchronizedMethod();
  16. if (b) break;
  17. }
  18. }
  19. /**
  20. * 同步方法--售票
  21. * @return
  22. */
  23. public synchronized boolean synchronizedMethod(){
  24. if (tickets==0){
  25. return true;
  26. }else {
  27. try {
  28. Thread.sleep(10);
  29. } catch (InterruptedException e) {
  30. e.printStackTrace();
  31. }//显示XX窗口成功售票
  32. System.out.println(Thread.currentThread().getName()+"售票1张,还剩"+ --tickets+"张票");
  33. return false;
  34. }
  35. }
  36. }