Помогите Параллельный или последовательный вызов ивентов?

Статус
Закрыто для дальнейших ответов.

Firec

Активный участник
Пользователь
Баллы
61
Такой вопрос - как происходит вызов ивентов? В частности интересует InventoryClickEvent и onCommand (он вроде ивент, а вроде и нет чего-то вроде OnCommandEvent).

Представим, что есть команда /test или предмет, при клики на которой происходит действие x. Это действие увеличивает int x на один и, в зависимости от x%2 отправит игроку или A или B. Только есть одно но - перед этим произойдёт ещё много различных действий, которые нас сейчас не интересуют, но известно, что какое-то время это займёт. Так вот - если сразу два человека отправят вызовут действие x, то будет создаваться некоторая очередь на выполнение команд или начнётся выполняться код для обоих команд?

Если кому-то интересно зачем мне это всё. Предположим, что x = 0. И два игрока вызывают x с разницей в 10^(-3) секунды. Назовём их p1 и p2. И представим, что у p2 код между изменением x и отправкой A или B занимает меньше времени, чем у p1. В случае, если вызов происходит параллельно, то p2, который написал /test позже, получит A раньше, в то время, как p1 получит B соответственно позже. Если же вызов последовательный, то p1 получит своё законное A, а p2 своё B.
 
Оба ивента синхронные, а команду напишет раньше тот, у кого меньше пинг.
 
Оба ивента синхронные, а команду напишет раньше тот, у кого меньше пинг.
Не совсем понял. В моём понимании (я пришёл из мира JS) синхронно = последовательно. Получается, что p1 получит A, а p2 - B. Так?
 
Вся обработка идет в один тик, каждые 50мс в листе или мапе. Так что это не имеет никакого значения для сервера.
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх