WEB开发网
开发学院软件开发Java Active Object 并发模式在 Java 中的应用 阅读

Active Object 并发模式在 Java 中的应用

 2010-08-06 00:00:00 来源:WEB开发网   
核心提示: 调度者 (Scheduler):调度者运行在 Active Object 线程中,调度者来决定下一个执行的方法请求,Active Object 并发模式在 Java 中的应用(3),而调度策略可以基于很多种标准,比如根据方法请求被插入的顺序 FIFO 或者 LIFO,重复第二步,调度者继续轮询

调度者 (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.
Active Object 并发模式在 Java 中的应用

查看原图(大图)

上一页  1 2 3 4 5 6 7 8  下一页

Tags:Active Object 并发

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接