主动对象的作用
- 客户端和服务器在进行网络通信时,服务器需要向多个客户端同时提供服务。有时候客户端请求的服务可能服务器无法立即提供(资源被占用),这时候如果客户端一直等待就会占用很多的时间。这时候就需要主动对象模式
- 主动对象模式将方法调用和方法执行分开。客户端在请求资源之后就可以直接离开,继续执行别的任务。等到服务器可以服务的时候,它再进行这项任务的执行
- 主动对象采用同步方法调用和异步方法执行,主动对象有其自己的线程,以便执行方法
- 同步和异步
- 同步调用
- 阻塞式的
- 客户端一直阻塞等待直到被服务器端返回为止
- 去吃饭的时候,你需要排队等待前面的人拿到饭之后,才能点餐
- 异步调用
- 非阻塞式
- 去吃饭的时候,收银员给你一个号码,你拿着号码就可以离开柜台,做自己的事情(玩手机),做好饭之后,服务员叫号,或者你每隔一段时间就问饭做好了吗?饭做好了吗?
- 类型
- 单向调用
- 客户端在调用之后,不关心服务端是否进行了服务、服务怎么样
- 延迟响应
- 客户端在调用之后,过一段时间来向服务端索要返回值
- 单向调用
- 同步调用
- 同步和异步