回调函数之同步调用、回调、异步调用
2017-02-15 11:56
417 查看
软件模块中存在一定接口,从调用方式上分为三类
1、同步调用;2、回调;3、异步调用
首先,同步调用是一种阻塞式调用,调用方要等待对象执行完毕才返回。它是一种单向调用。
其次,回调是一种双向调用模式,也就是说,被调用方在接口被调用得同时会调用对方得接口。
最后,异步调用是一种类似消息或者事件的机制,不过它的调用方向刚好相反,接口的服务在收到被调用的信息或事件时,会主动调用(调用方)的接口。
回调和异步调用得关系非常紧密,通常我们使用回调来实现异步消息的注册,通过异步调用来实现消息的通知。
对于不同类型的语言(结构化语言和对象语言)、平台(win32,jdk)等,客户和服务的交互除了同步方式以外,都需要具备一定的异步通知机制,让服务方或接口提供方,在某些情况下能主动通知客户,而回调是实现异步的一个最简捷的途径。
结构化语言中,可以通过回调函数还实现回调,回调函数也是一个函数或过程,不过它是一个由调用方自己实现,供被调用方使用的特殊函数。
在面向对象语言中,回调则是通过接口或抽象类来实现的,我们把实现这种接口的类称为回调类,回调类的对象称为回调对象。对于象C++或objectPascal这些兼容了过程特性的对象语言,不仅提供了回调对象、回调方法等特性,也行兼容过程语言的回调函数机制。
相关文章推荐
- 调用机制:回调函数、同步调用、异步调用
- 同步调用、回调和异步调用区别
- 同步调用、异步调用和回调函数
- 同步调用、回调和异步调用
- 同步调用、回调和异步调用区别
- C#委托的同步调用、异步调用、异步回调
- C# 委托的三种调用示例(同步调用 异步调用 异步回调)
- C#(同步调用、异步调用、异步回调)
- 同步调用、异步调用、异步回调的区别
- 同步调用、回调和异步调用区别
- java的同步调用、回调和异步调用。
- 同步调用 回调 异步调用
- C# 委托(同步调用、异步调用、异步回调)
- 软件接口:同步调用、回调和异步调用
- 回调函数,同步调用,异步调用,事件,消息循环
- C#(同步调用、异步调用、异步回调)
- 同步调用、回调函数、异步调用
- C#“同步调用”、“异步调用”、“异步回调”
- 同步调用,回调,异步调用
- 2015/01/23 – 不要对异步回调函数进行同步调用