Java 开发 2.0: Kilim 简介
2010-05-21 00:00:00 来源:WEB开发网作为在 Kilim 中利用邮箱的一个示例,我编写了两个角色(Calculator 和 DeferredDivision),它们从 Kilim 的 Task 类型扩展而来。这些类将以一种并发方式协同工作。DeferredDivision 对象将创建一个被除数和一个除数,但它不会尝试将这两个数相除。我们知道除法运算很耗资源,所以 DeferredDivision 对象将要求 Calculator 类型来处理该任务。
这两个角色通过一个共享 Mailbox 实例通信,该实例接受一个 Calculation 类型。这种消息类型非常简单 —— 已提供了被除数和除数,Calculator 随后将执行计算并设定相应的答案。Calculator 然后将这个 Calculation 实例放回共享 Mailbox 中。
Calculation
清单 1 给出了这个简单的 Calculation 类型。您会注意到这个类型不需要任何特殊的 Kilim 代码。实际上,它只是一个再普通不过的 Java bean。
清单 1. 一个 Calculation 类型的消息
import java.math.BigDecimal;
public class Calculation {
private BigDecimal dividend;
private BigDecimal divisor;
private BigDecimal answer;
public Calculation(BigDecimal dividend, BigDecimal divisor) {
super();
this.dividend = dividend;
this.divisor = divisor;
}
public BigDecimal getDividend() {
return dividend;
}
public BigDecimal getDivisor() {
return divisor;
}
public void setAnswer(BigDecimal ans){
this.answer = ans;
}
public BigDecimal getAnswer(){
return answer;
}
public String printAnswer() {
return "The answer of " + dividend + " divided by " + divisor +
" is " + answer;
}
}
更多精彩
赞助商链接