我能将五种Java异步调用方法全部转换为同步调用吗?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2171个文字,预计阅读时间需要9分钟。
Sunny来解释一下异步和同步的概念:
同步调用:调用方在调用过程中,会等待被调用方执行完毕并返回结果。即在调用过程中,调用方会阻塞,直到被调用方返回结果。
异步调用:调用方在调用过程中,不会等待被调用方执行完毕。调用方会继续执行其他任务,而被调用方执行完毕后,通过回调函数等方式通知调用方结果。
同步调用示例:在调用一个同步API时,调用方会等待API执行完毕并返回结果。
异步调用示例:在调用一个异步API时,调用方在调用API后,会继续执行其他任务,API执行完毕后,通过回调函数等方式通知调用方结果。
Sunny先来说一下对异步和同步的理解:
- 同步调用:调用方在调用过程中,持续等待返回结果。
- 异步调用:调用方在调用过程中,不直接等待返回结果,而是执行其他任务,结果返回形式通常为回调函数。
其实,两者的区别还是很明显的,这里也不再细说,我们主要来说一下Java如何将异步调用转为同步。换句话说,就是需要在异步调用过程中,持续阻塞至获得调用结果。
不卖关子,先列出五种方法,然后一一举例说明:
- 使用wait和notify方法
- 使用条件锁
- Future
- 使用CountDownLatch
- 使用CyclicBarrier
0.构造一个异步调用
首先,写demo需要先写基础设施,这里的话主要是需要构造一个异步调用模型。
本文共计2171个文字,预计阅读时间需要9分钟。
Sunny来解释一下异步和同步的概念:
同步调用:调用方在调用过程中,会等待被调用方执行完毕并返回结果。即在调用过程中,调用方会阻塞,直到被调用方返回结果。
异步调用:调用方在调用过程中,不会等待被调用方执行完毕。调用方会继续执行其他任务,而被调用方执行完毕后,通过回调函数等方式通知调用方结果。
同步调用示例:在调用一个同步API时,调用方会等待API执行完毕并返回结果。
异步调用示例:在调用一个异步API时,调用方在调用API后,会继续执行其他任务,API执行完毕后,通过回调函数等方式通知调用方结果。
Sunny先来说一下对异步和同步的理解:
- 同步调用:调用方在调用过程中,持续等待返回结果。
- 异步调用:调用方在调用过程中,不直接等待返回结果,而是执行其他任务,结果返回形式通常为回调函数。
其实,两者的区别还是很明显的,这里也不再细说,我们主要来说一下Java如何将异步调用转为同步。换句话说,就是需要在异步调用过程中,持续阻塞至获得调用结果。
不卖关子,先列出五种方法,然后一一举例说明:
- 使用wait和notify方法
- 使用条件锁
- Future
- 使用CountDownLatch
- 使用CyclicBarrier
0.构造一个异步调用
首先,写demo需要先写基础设施,这里的话主要是需要构造一个异步调用模型。

