异步编程的处理方式

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来说,以上三种异步编程都是使用线程池去实现的,因此可以大致认为异步就是多线程的一种情况。无非是两个线程。

 
 
posted @ 2024-11-06 08:54  了悟  阅读(1)  评论(0编辑  收藏  举报