网站作品怎么做链接,网络公司除了建网站,上海小程序开发与制作公司,石头科技 网站开发1#xff0c;先建一个Map/*** 创建一个Map用于存放线程id对象集合#xff0c;主要是用于到达岗亭之后扫码付费#xff0c;如果人工收费就需要关闭线程#xff0c;key是停车记录Id#xff0c;*/public static MapMAPTHREAD new HashMap();2.建一个线程类继承Runnable/*** …1先建一个Map/*** 创建一个Map用于存放线程id对象集合主要是用于到达岗亭之后扫码付费如果人工收费就需要关闭线程key是停车记录Id*/public static MapMAPTHREAD new HashMap();2.建一个线程类继承Runnable/*** 轮询查询网上支付结果* author Administrator**/Componentpublic class PollingSearch implements Runnable{private String flag;private ParkingRecord parkingRecord;// Autowired// private OnlinePaymentService onlinePaymentService;//Autowired//private CameraLogic cameraLogic;Overridepublic void run() {try {CameraLogic cameraLogic (CameraLogic) SpringUtil.getObject(cameraLogic);OnlinePaymentService onlinePaymentService (OnlinePaymentService) SpringUtil.getObject(onlinePaymentServiceImpl);while(CommonUtil.MAPTHREAD.get(flag).equals(true)) {Thread.sleep(5000);}} catch (Exception e) {e.printStackTrace();}}public void setFlag(String flag) {this.flag flag;}public ParkingRecord getParkingRecord() {return parkingRecord;}public void setParkingRecord(ParkingRecord parkingRecord) {this.parkingRecord parkingRecord;}public String getFlag() {return flag;}spring容器中无法自动注入所以用这两句代码获取springUtil可参考我的另一篇文章 spring ioc容器管理CameraLogic cameraLogic (CameraLogic) SpringUtil.getObject(cameraLogic);OnlinePaymentService onlinePaymentService (OnlinePaymentService) SpringUtil.getObject(onlinePaymentServiceImpl);重要的代码在这while(CommonUtil.MAPTHREAD.get(flag).equals(true)) {上面代码在根据map中判断了是否执行轮询当为true时才执行下面开启线程final String parkRecordId oldRecord.getId();final ParkingRecord parkingRecord oldRecord;//将账单id放进map中为了等待支付完成时可以根据停车记录id找到该账单后删除CommonUtil.PAYMENTRECORDMAP.put(parkRecordId, paymentRecord.getId());CommonUtil.MAPTHREAD.put(parkRecordId, true);PollingSearch pollingSearch new PollingSearch();pollingSearch.setParkingRecord(parkingRecord);pollingSearch.setFlag(parkRecordId);Thread thread new Thread(pollingSearch);thread.start();在需要关闭线程的时候final String parkingRecordId parkingRecord.getId();CommonUtil.MAPTHREAD.put(parkingRecordId,false);CommonUtil.MAPTHREAD.remove(parkingRecordId);这样子就可以给各个线程手动关闭了初学者不喜勿怪 排版懒得排了