Active Object 并发模式在 Java 中的应用
2010-08-06 00:00:00 来源:WEB开发网调度者 (Scheduler):调度者运行在 Active Object 线程中,调度者来决定下一个执行的方法请求,而调度策略可以基于很多种标准,比如根据方法请求被插入的顺序 FIFO 或者 LIFO,比如根据方法请求的优先级等等。
Servant: Servant 定义了 Active Object 的行为和状态,它是 Proxy 所定义的接口的事实实现。
Future: 调用者调用 Proxy 所定义的方法,获得 Future 对象。调用者可以从该 Future 对象获得方法执行的最终结果。在真实的实现里,Future 对象会保留一个私有的空间,用来存放 Servant 方法执行的结果。
执行序列图
在 Active Object 设计模式中,在参与者之间将发生如下的协作过程:
方法请求的构造与调度。调用者调用 Proxy 的方法 method(),Proxy 创建相应的方法请求,把它传给调度者 (Scheduler),调度者负责把该方法请求放入 Activation List 中。如果 method() 需要返回执行结果,Proxy 返回一个 Future 对象给调用者(图 1 中步骤 1 到步骤 6)。
方法请求执行。调度者负责从 Activation List 队列里按照预先定义的规则拿出下一个可执行的方法请求,并把该请求绑定到相应 Servant 所定义的方法(图 1 中步骤 7 到步骤 11)。
完成阶段。保存任何 Servant 方法执行的结果到 Future 对象中去(图 1 中步骤 12)。重复第二步,调度者继续轮询 Activation List 队列,看是否有下一个可执行的方法请求。
图 1. Active Object Sequence Diagram.
查看原图(大图)
- ››Object转换为String[]数组,或者其他类型的数组
- ››Active Directory的复制拓扑,Active Directory系...
- ››Active Directory的主要还原,Active Directory系...
- ››Active Directory的脱机碎片整理,Active Directo...
- ››Objective-c 学习: 初始化
- ››Objective C内存管理进阶: 调试内存泄露
- ››Active Object 并发模式在 Java 中的应用
- ››ActiveFile 手机文件管理
- ››Active Directory网络中DNS服务器的规划
- ››ActiveSkin 4.3软件换肤在VC中的实现
- ››Active Memory Sharing 与双 Virtual I/O Server ...
- ››ActiveX 控件在 Excel 中的运用
更多精彩
赞助商链接