kilim 手动编织

kilim框架的代码实现之后还要用到一个kilim.tools.Weaver的类经醒编织之后才能运行,否则会报

############################################################
Task class kilimTest.Customer has either not been woven or the classpath is incorrect
############################################################
java.lang.Exception: Stack trace
 at java.lang.Thread.dumpStack(Thread.java:1353)
 at kilim.Task.errNotWoven(Task.java:232)
 at kilim.Task.execute(Task.java:382)
 at kilim.Task._runExecute(Task.java:432)
 at kilim.WorkerThread.run(WorkerThread.java:32)
############################################################
Task class kilimTest.Product$ProductAttackJob has either not been woven or the classpath is incorrect
############################################################
java.lang.Exception: Stack trace
 at java.lang.Thread.dumpStack(Thread.java:1353)
 at kilim.Task.errNotWoven(Task.java:232)
 at kilim.Task.execute(Task.java:382)
 at kilim.Task._runExecute(Task.java:432)
 at kilim.WorkerThread.run(WorkerThread.java:32)

的错误.

文档里当然也有相应的例子

Weave the class (and overwrite it).

 
  java kilim.tools.Weaver -d ./classes kilim.examples.SimpleTask 
但是由于本人对classpath的理解有问题所以搞了半天才搞定
Java 命令后的-cp  需要完整的classpath:lib和classes都要包括在内,-d后面直接指向类不行的话  可以更换为路径,例如:
D:/workPath/datacurr>java -cp ./lib/kilim.jar;./lib/asm-all-2.2.3.jar;./lib/juni
t.jar;./bin kilim.tools.Weaver  -d d:/workpath/datacurr/bin d:/workpath/datacurr
/bin

 

Kilim 是一种 Java 消息传递框架,提供了超轻量级的线程,推动了线程之间迅速、安全、无需复制的消息传递的实现。 Kilim 使用 Java 编写,融入了角色模型的概念。在 Kilim 中,“角色” 是使用 Kilim 的 Task 类型来表示的。Task 是轻量型的线程,它们通过 Kilim 的 Mailbox 类型与其他 Task 通信。 Mailbox 可以接受任何类型的 “消息”。例如,Mailbox 类型接受 java.lang.Object。Task 可以发送 String 消息或者甚至自定义的消息类型,这完全取决于您自己。 在 Kilim 中,所有实体都通过方法签名捆绑在一起,如果您需要同时执行几项操作,可以在一个方法中指定该行为,扩大该方法的签名以抛出 Pausable。因此,在 Kilim 中创建并发类就像在 Java 中实现 Runnable 或扩展 Thread 一样简单。只是使用 Runnable 或 Thread 的附加实体(比如关键字 synchronized)更少了。 最后,Kilim 的魔力是由一个称为 weaver 的后期进程来实现的,该进程转换类的字节码。包含 Pausable throws 字句的方法在运行时由一个调度程序处理,该调度程序包含在 Kilim 库中。该调度程序处理有限数量的内核线程。可以利用此工具来处理更多的轻量型线程,这可以最大限度地提高上下文切换和启动的速度。每个线程的堆栈都是自动 管理的。 在本质上,Kilim 使创建并发进程变得轻松而简单:只需从 Kilim 的 Task 类型进行扩展并实现 execute 方法。编译新创建的支持并发性的类之后,对其运行 Kilim 的 weaver,您会实现显著的性能提升! Kilim 最初是一种外来语言,但它带来了巨大的回报。角色模型(以及后来的 Kilim)使编写依赖于类似对象的异步操作对象变得更加简单和安全。您可以 使用 Java 的基本线程模型进行同样的操作(比如扩展 Thread),但这更具挑战性,因为它会将您带回锁和同步的世界中。简而言之,将 您的并发编程模型转换为角色使多线程应用程序更容易编码。 标签:Kilim
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值