Java高性能线程库 Jetlang

openkk 13年前

Jetlang 提供了一个高性能的Java线程库,该库是 JDK 1.5 中的 java.util.concurrent 包的补充,可用于基于并发消息机制的应用。该类库不提供远程的消息功能,其设计的宗旨是实现一个内存中的消息传递机制:

主要特点有:

  • All messages to a particular Fiber are delivered sequentially. Components can easily keep state without synchronizing data access or worrying about thread races.
  • Single Fiber interface that can be backed by a dedicated thread or a thread pool.
  • Supports single or multiple subscribers for messages.
  • Subscriptions for single events or event batching
  • Single or recurring event scheduling
  • High performance design optimized for low latency and high scalability
  • Publishing is thread safe, allowing easy integration with other threading models.
  • Low Lock Contention - Minimizing lock contention is critical for performance. Other concurrency solutions are limited by a single lock typically on a central thread pool or message queue. Jetlang is optimized for low lock contention. Without a central bottleneck, performance easily scales to the needs of the application.
  • Powerful Async Request/Reply Support
  • Single jar with no dependencies except the jdk (1.6+)
  • Integrates with any JVM language - jruby, scala, clojure, groovy, etc
  • Distributed Messaging - Jetlang Remoting
示例代码:
Fiber fiber = new ThreadFiber();  fiber.start();  final CountDownLatch latch = new CountDownLatch(2);  Runnable toRun = new Runnable(){     public void run(){        latch.countDown();     }  };  //enqueue runnable for execution  fiber.execute(toRun);  //repeat to trigger latch a 2nd time  fiber.execute(toRun);    latch.await(10, TimeUnit.SECONDS);    //shutdown thread  fiber.dispose();

项目主页:http://www.open-open.com/lib/view/home/1334063343764</p> </strong>