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

