Java异步转同步的实现方法

用Java调用一个异步方法时,方法会马上返回,而结果会在之后再去取
例如:
javapublicvoidinvoke(Runnabletask){
threadPool.execute(task);
}
//或者
publicFuturesubmit(Callabletask){
returnthreadPool.submit(task);
}
以上方法都是异步的,对于需要得到返回结果的,可以通过future.get()来取得结果。
我的问题是:
如果一个方法一开始是异步的,我想把它转成同步来用,应该做哪些修改,或者是添加哪些类和逻辑?
Java中的异步转同步有没有哪些一般的编程模式?据说用CountDownLatch也可以实现异步转同步,但我还不太理解。
等待各位解答,先谢谢!
牛魔王的故事
浏览 278回答 2
2回答

HUX布斯

异步转同步一般思路就是轮询,等待线程一直查询一个bool变量值,执行线程在任务结束时候设置为bool为true,这样等待线程接着就可以向下执行了
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript