多线程设计模式:Active Objects设计模式(TODO)

1 接受异步消息的主动对象

Active是“主动”的意思,Active Object是“主动对象”的意思,所谓主动对象就是指其拥有自己的独立线程,比如java.lang.Thread实例就是一个主动对象,不过Active Object Pattern不仅仅是拥有独立的线程,它还可以接受异步消息,并且能够返回处理的结果。

System.gc方法就是一个“接受异步消息的主动对象”,调用gc方法的线程和gc自身的执行线程并不是同一个线程:

在这里插入图片描述

2 标准Active Objects模式设计

首先从标准的Active Objects设计入手,将一个接口的方法调用转换成可接受异步消息的主动对象,也就是说方法的执行和方法的调用是在不同的线程中进行的,那么如何使得执行线程知道应该如何正确执行接口方法呢?我们需要将接口方法的参数以及具体实现封装成特定的Message告知执行线程。如果该接口方法需要返回值,则必须得设计成Future的返回形式

关于Future模式参考:多线程设计模式:Future设计模式

2.1 准备调用接口

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值