Rider.java 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package J20250801.homework.demo01;
  2. import java.util.Random;
  3. /**
  4. * @author WanJl
  5. * @version 1.0
  6. * @title Rider
  7. * @description 消费者---骑手
  8. * @create 2025/8/1
  9. */
  10. public class Rider implements Runnable{
  11. private OrderQueue orderQueue;
  12. private String name;
  13. public Rider() {
  14. }
  15. public Rider(OrderQueue orderQueue, String name) {
  16. this.orderQueue = orderQueue;
  17. this.name = name;
  18. }
  19. @Override
  20. public void run() {
  21. while (!Thread.currentThread().isInterrupted()){
  22. try {
  23. //取出订单
  24. Order order = orderQueue.take();
  25. //根据订单的类型处理订单
  26. int handleTime=0;
  27. switch (order.getType()){
  28. case "餐饮":
  29. handleTime=3000;
  30. break;
  31. case "生鲜":
  32. handleTime=5000;
  33. break;
  34. case "药品":
  35. handleTime=2000;
  36. break;
  37. }
  38. System.out.println("骑手"+name+"开始处理"+order.getType()+"订单,需要"+handleTime/1000+"秒");
  39. Thread.sleep(handleTime);
  40. System.out.println("骑手"+name+"完成处理"+order.getType()+"订单");
  41. } catch (InterruptedException e) {
  42. System.out.println("骑手"+name+"已停止工作....");
  43. }
  44. }
  45. }
  46. }