Java开发2.0: Kilim简介 - 编程入门网
地,两个角色都通过它们的构造函数接受 一个有类型 Mailbox。
清单 3. 最终的实际运算角色:Calculator
Calculator 的 execute 方法与 DeferredDivision 的相应方法一样,不断循环查找共享 Mailbox 中 的项。区别在于 Calculator 调用 get 方法,这是一种阻塞调用。相应地,当一条 Calculation “消息 ” 显示时,它执行请求的除法运算。最后,Calculator 将修改的 Calculation 放回到 Mailbox 中(采 用非阻塞方式),然后进入休眠状态。两个角色中的休眠调用都仅用于简化控制台的读取。 Java开发2.0: Kilim简介(6)时间:2011-10-22 IBM Andrew GloverKilim 的 weaver 在前面,我提到了 Kilim 通过其 weaver 执行字节码操作。这是一个简单的后处理过程,您在编译了 类之后 运行它。weaver 然后将一些特殊代码添加到包含 Pausable 标记的各种类和方法中。 调用 weaver 非常简单。举例而言,在清单 4 中,我使用 Ant 调用 Weaver。我需要做的只是告诉 Weaver 我需要的类在哪里,以及在哪里放置生成的字节码。在这个例子中,我让 Weaver 更改 target/classes 字典中的类,并将生成的字节码写回到该字典。 清单 4. Ant 调用 Kilim 的 weaver
更改代码之后,我就可以在运行时随意利用 Kilim 了,只要我在类路径中包含了它的 .jar 文件。 在运行时使用 Kilim 将这两个角色应用到实际中就像在 Java 代码中应用两个普通的 Thread 一样。您使用同一个共享 sharedMailbox 实例创建并扩展两个角色实例,然后调用 start 方法来实际设置它们。 清单 5. 一个简单的程序
Java开发2.0: Kilim简介(7)时间:2011-10-22 IBM Andrew Glover运行这两个角色会得到如清单 6 所示的输出。如果运行此代码,您的输出可能有所不同 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |