B>>Да; я просто считал что "клиент = запрос(ы)". Тут правда в предыдущем посте подкинули идею с акторами и это действительно идея. Не лочить игровой мир при модификации, а просто отправлять все изменения "хозяину мира", а он сам их проставит безо всяких лочек.
O>Что такое "хозяин мира" ? Сервер ?
Объект, который владеет картой. Условно, экземпляр класса с текущей сессией игры.
O>Как он проставит без лочек не совсем понятно, например два игрока одновременно шагают в одну точку, на сервер прилетает 2 запроса 2 потока обрабатывает, если не делать lock карты при изменении состояния, то могут одновременно в одной "клетке" оказаться, а должно быть что кто-то один ее занял а у второго сработала коллизия.
Оба запроса кидаются в очередь хозяину карты. Хозяин их вычитывает из очереди и выполняет. Лочить карту ему не нужно, ведь он ее владелец — никто другой с ней не работает.
Проект Ребенок8020 — пошаговый гайд как сделать, вырастить и воспитать ребенка.