第一节、同步回调和异步回调?

在我们编写的应用中大多是同步回调,那接下来我们就聊一下什么是同步回调,什么是异步回调?

1、什么是同步回调?

 同步调用就是客户端等待调用执行完成并返回结果。

 我们常用的一些请求都是同步回调的,同步回调是阻塞的,单个的线程需要等待结果的返回才能继续执行。

第一节、同步回调和异步回调?_第1张图片

2、什么是异步回调?

异步调用就是客户端不等待调用执行完成返回结果,不过依然可以通过回调函数等接收到返回结果的通知。如果客户端并不关心结果,则可以变成一个单向的调用。

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

异步回调指的是:在发起一个异步任务的同时指定一个函数,在异步任务完成时会自动的调用这个函数。 

(1)为什么需要回调函数

需要获取异步任务的执行结果,但是又不应该让其阻塞(降低效率),即想要高效的获取任务的执行结果。

比喻:如果把任务比喻为烧水,没有回调时就只能守着水壶等待水开,有了回调相当于换了一个会响的水壶,烧水期间可用作其他的事情,等待水开了水壶会自动发出声音,这时候再回来处理。水壶自动发出声音就是回调。

有的时候,我们不希望程序在某个执行方法上一直阻塞,需要先执行后续的方法,那就是这里的异步回调。我们在调用一个方法时,如果执行时间比较长,我们可以传入一个回调的方法,当方法执行完时,让被调用者执行给定的回调方法。

第一节、同步回调和异步回调?_第2张图片

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

自我理解:同步回调函数,就像我们写得常规程序一样,从上往下依次执行,主动去调用请求执行;而异步回调函数的话,一般在执行方法时,里面嵌套一个异步回调方法,主方法不用等待异步回调执行完成,可继续往下执行。

你可能感兴趣的:(java,基础,java)