當(dāng)前位置:
首頁(yè) >
前端技术
> javascript
>内容正文
javascript
同步方法 调用异步防范_Spring一个注解实现方法的异步调用,再也不用单开线程了...
生活随笔
收集整理的這篇文章主要介紹了
同步方法 调用异步防范_Spring一个注解实现方法的异步调用,再也不用单开线程了...
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
介紹
同步調(diào)用
先來(lái)演示一下什么是同步調(diào)用
測(cè)試方法
輸出如下
doTaskOne start 1566121320372doTaskOne end 1566121321373doTaskTwo start 1566121321373doTaskTwo end 1566121322374可以看到方法一執(zhí)行完畢,方法二才會(huì)執(zhí)行
異步調(diào)用不返回值
1.Spring Boot啟動(dòng)類上加@EnableAsync注解
@SpringBootApplication@EnableAsync2.方法上加@Async注解
測(cè)試類如下
最后的TimeUnit.SECONDS.sleep(3)保證主線程存活,不然主線程執(zhí)行完看不到子線程輸出的end,輸出如下
doTaskOne start 1566121729140doTaskTwo start 1566121729140doTaskOne end 1566121730140doTaskTwo end 1566121730140看輸出,2個(gè)任務(wù)同時(shí)啟動(dòng)。2個(gè)沒(méi)有關(guān)系的任務(wù)以前需要2s才能執(zhí)行完,異步后1s就能執(zhí)行完,效率提高。
異步調(diào)用返回值
測(cè)試類
輸出如下
doTaskTwo start 1566122170684doTaskOne start 1566122170684doTaskTwo end 1566122171684doTaskOne end 1566122171684taskOne returntaskTwo returnFuture類的get方法是阻塞方法,沒(méi)有結(jié)果返回時(shí)會(huì)一直阻塞。
總結(jié)
以上是生活随笔為你收集整理的同步方法 调用异步防范_Spring一个注解实现方法的异步调用,再也不用单开线程了...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 微信自定义tabbar有小红点_自定义微
- 下一篇: java用log.i打印数组_java-