异步编程的处理方式
1.@Async 注解,加上这个注解就行了,注意加到具体实现上。即
@Async
@Override
2. 使用 CompletableFuture
CompletableFuture.runAsync(() -> { // JSONObject ret = null; try { payableOrderService.pushSapAsync(po_push_payable, map); interfaceLogPO.setIsSuccess(1); // interfaceLogPO.setResponse(ret.toJSONString()); } catch (Exception e) { interfaceLogPO.setIsSuccess(0); interfaceLogPO.setResponse(e.getMessage()); throw e; } finally { try { interfaceLogClient.saveInterfaceLog(interfaceLogPO); } catch (Exception e) { } } });
3.ExecutorService.submit()
对于java来说,以上三种异步编程都是使用线程池去实现的,因此可以大致认为异步就是多线程的一种情况。无非是两个线程。
下班记得打卡