Kilim - 基于角色的消息传递框架


MIT
跨平台
Java

软件简介

Kilim 是一种 Java 消息传递框架,提供了超轻量级的线程,推动了线程之间迅速、安全、无需复制的消息传递的实现。

Kilim 使用 Java 编写,融入了角色模型的概念。在 Kilim 中,“角色” 是使用 Kilim 的 Task 类型来表示的。Task
是轻量型的线程,它们通过 Kilim 的 Mailbox 类型与其他 Task 通信。

Mailbox 可以接受任何类型的 “消息”。例如,Mailbox 类型接受 java.lang.ObjectTask 可以发送
String 消息或者甚至自定义的消息类型,这完全取决于您自己。

在 Kilim 中,所有实体都通过方法签名捆绑在一起,如果您需要同时执行几项操作,可以在一个方法中指定该行为,扩大该方法的签名以抛出
Pausable。因此,在 Kilim 中创建并发类就像在 Java 中实现 Runnable 或扩展 Thread 一样简单。只是使用
RunnableThread 的附加实体(比如关键字 synchronized)更少了。

最后,Kilim 的魔力是由一个称为 weaver 的后期进程来实现的,该进程转换类的字节码。包含 Pausable throws
字句的方法在运行时由一个调度程序处理,该调度程序包含在 Kilim
库中。该调度程序处理有限数量的内核线程。可以利用此工具来处理更多的轻量型线程,这可以最大限度地提高上下文切换和启动的速度。每个线程的堆栈都是自动 管理的。

在本质上,Kilim 使创建并发进程变得轻松而简单:只需从 Kilim 的 Task 类型进行扩展并实现 execute
方法。编译新创建的支持并发性的类之后,对其运行 Kilim 的 weaver,您会实现显著的性能提升!

Kilim 最初是一种外来语言,但它带来了巨大的回报。角色模型(以及后来的 Kilim)使编写依赖于类似对象的异步操作对象变得更加简单和安全。您 可以
使用 Java 的基本线程模型进行同样的操作(比如扩展 Thread),但这更具挑战性,因为它会将您带回锁和同步的世界中。简而言之,将
您的并发编程模型转换为角色使多线程应用程序更容易编码。