1. 首页 > 区块百科  > vertxvertxcore--verticle 和 Ev

vertxvertxcore--verticle 和 Ev

只属于一个线程core最新消息,只能由一个线程执行;

一次只能由一个线程执行core最新消息,但可以在不同时间由其他线程执行。

与普通相比,唯一的区别是Multi-会有多个线程同时执行一个实例。

因此,要求实例考虑线程安全是很有必要的,这是一种高风险的写法,不推荐应用。

Event Bus(事件总线)是 Vert.x 的神经系统,负责传输应用系统消息。

Vert.x ()之间的相互调用是通过Event Bus实现的。

最简单的发布方法接受一个地址和一个类型的消息对象:

@Fluent
EventBus publish(String address, Object message);

以这种方式发布的消息可以被所有订阅的消费者接收,这就是发布-订阅模式。

还有一种点对点模式,这种模式发布的消息只能被一个消费者接收:

@Fluent
<T> EventBus send(String address, Object message,
 DeliveryOptions options, Handler<AsyncResult<Message<T>>> replyHandler);

订阅消息比较简单,只有一个方法,即方法的声明如下:

<T> MessageConsumer<T> consumer(String address, Handler<Message<T>> handler);