Jetlang Java高性能线程库

程序名称:Jetlang

授权协议: 未知

操作系统: 跨平台

开发语言: Java

Jetlang 介绍

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.

示例代码:

// start thread backed receiver.   
// Lighweight fibers can also be created using a thread pool  
Fiber receiver = new ThreadFiber();  
receiver.start();

// create java.util.concurrent.CountDownLatch to notify when message arrives  
final CountDownLatch latch = new CountDownLatch(1);

// create channel to message between threads  
Channel<String> channel = new MemoryChannel<String>();  
Callback<String> onMsg = new Callback<String>() {  
    public void onMessage(String message) {  
        //open latch  
        latch.countDown();  
    }  
};  
//add subscription for message on receiver thread  
channel.subscribe(receiver, onMsg);

//publish message to receive thread. the publish method is thread safe.  
channel.publish("Hello");

//wait for receiving thread to receive message  
latch.await(10, TimeUnit.SECONDS);

//shutdown thread  
receiver.dispose();

Jetlang 官网

http://code.google.com/p/jetlang/

相关编程语言

BlazeDS 是一个基于服务器的Java 远程控制(remoting...
OVal 是一个可扩展的Java对象数据验证框架,验证的规...
Volta 是一套开发工具,专为开发分布式、实时系统应...
OpenDDS 是一个开源的 C++ 实现的 对象管理组织 OMG...
JADE (Java Agent DEvelopment Framework) 是一个完...
FastMM ,在D2006和2007中已代替了原来的内存管理器。