当前位置: 首页 > 工具软件 > Jetlang > 使用案例 >

java jetlang_Jetlang

平羽
2023-12-01

软件简介

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 channel = new MemoryChannel();

Callback onMsg = new Callback() {

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();

 类似资料:

相关阅读

相关文章

相关问答