kotlin 阻塞任务解决方案

134 阅读1分钟

昨天接了一个需求,大体是每隔五秒从异步回调以及异步子线程里面获得结果,然后统一处理。

刚接到是懵逼的,按Java的写法,就是阻塞子线程,等结果再输出然后再保存本地。

kotlin实现比较简单如下,val countDownLatch = CountDownLatch(2) 里面写了2个任务,一个任务完成就countDownLatch.countDown(),可以设置任务的超时时间,countDownLatch.await(5, TimeUnit.SECONDS).