Записки о многопоточности майна и писанины с нуля

3,005
192
592
Но расскажите мне что в этом плохого?
Вот у тебя есть 10к мобов, 10к тайлов.
Майну это надо обработать.
Без потока:
Обработал 10к мобов, потом 10к тайлов.
С потоком:
Обработка 10к мобов И 10к тайлов в одно время.

Далее, "игрок хочет пойти вперед", что бы об этом знали другие игроки - нужно синхронизировать.
Без потока:
Мы должны прождать пока 10к мобов, потом 10к тайлов обработается, потом уже идет синхронизация игрока.
С потоком:
Мы одновременно обрабатываем И 10к мобов, 10к тайлов и синхронизацию игрока..

ВРОДЕ бы это так должно работать.
 
1,159
38
544
@Doc сомневаюсь что при использовании многопоточности все вышперечисленное будет обработано одновременно. Скорее псевдо-одновременно - камень то один.
 

tox1cozZ

aka Agravaine
8,456
598
2,893
А тебя не смущает что у меня стоит на сервере восьмиядерный камень с 16 потоками, а сервер грузит от силы два? Это как то глупо. Нагрузка должна распределяться примерно равномерно по ядрам, а не грузить 1-2 ядра на 100% и захлёбываться, а остальные шесть ядер стоят курят в сторонке.
 
1,159
38
544

CumingSoon

Местный стендапер
1,634
12
269
Не всегда. Не может же ос знать, что асинхронно, а что нет. Ведь если ось сделает что-то не так, то можно получить дедлоки и прочее дерьмо, связанное с конкурентностью
 
Сверху