Выполнение обработчиков событий в vertx

Если у меня есть следующий код:

for(int i = 0; i < 10; i++)
{
    vertx.eventBus().send("some-address", some-handler);
}

Все вызовы some-handler в этом цикле выполняются параллельно или последовательно? Если последовательно, то каким будет правильный подход для параллельного выполнения?

С уважением


person matrik    schedule 07.02.2015    source источник
comment
Пожалуйста, проверьте синтаксис метода отправки. Вы должны отправить некоторые данные в качестве второго параметра. Handler (обработчик воспроизведения) — третий необязательный параметр. И если вы укажете, будет выполняться последовательно, но в случайном порядке, поскольку повтор исходит от другого обработчика, адрес которого вы указываете в качестве первого параметра.   -  person Thomas    schedule 13.02.2015


Ответы (1)


Выполнение является «последовательным», поскольку отправка сообщения приведет к регистрации только одного «обработчика» по адресу, получающему сообщение. Теоретически, если вы хотите параллельное выполнение, вы должны развернуть две (или более) вершины, зарегистрированные для этого конкретного "обработчика", и опубликовать сообщение. Имейте в виду, что Vert.x не поддерживает параллелизм для одной вершины (что в любом случае является основной задачей платформы).

В следующий раз отправьте тот же вопрос в группу Vert.x, это очень живой, поэтому на все, что вы там спросите, скорее всего, будет дан немедленный ответ. Тим мужчина вон там.

Кроме того, взгляните на эту ссылку. Это лучшее объяснение, которое я когда-либо видел для параллельного и параллельного программирования; определенно даст вам представление о том, что есть что, хотя жаргон варьируется от языка к языку.

person x80486    schedule 20.03.2015