KadVar писал(а):
Вы эээ... "в себе" ?
Это в апаче не требуется статистику собирать и анализировать
)) ????
Вы можете закрывать глаза на чужие продуманные решения и вводить DB ради DB,
дело ваше, лично я не вижу никакого смысла логировать непосредственно в базу.
От этого КУЧА проблем может быть различных, а толку абсолютно никакого.
Если вы хотите анализировать логи, то для этого есть готовые инструменты,
не подойдут - надо будет свой написать...
И какого рода статистику в работе апача вы собираете ?
И про какие такие продуманные решения вы говорите ?
DB для статистики - это уже готовое решение, для которого не нужно ничего больше писать
и это не менее популярное решение, чем файл. Парсер/анализатор в наличии бери и пользуйся.
Sventovit писал(а):
Что будет если cast_spell исполнится после get_arrow ?
Оно "упадет" ?
Я не увидел ни одной проверки в вашем коде, вообще ни одной...
Если в arrow возвращается null, то что произойдет в bow.shoot ?
Конкретизировать код на предмет проверок можно ?
Код синхронизации находится на уровне доступа к тому или иному объекту.
Если в одном потоке с объектом в этот момент идет работа, то другой поток в этот момент приостанавливается (если ему нужен
тот же самый объект), пока первый не освободит его. И если это сделать, то все будет работать как надо и ничего падать не будет.
Вопрос в другом, насколько реализуемо это решение. Тут нужно разбираться.
KadVar писал(а):
Именно поэтому я спрашивал уже неоднократно где, как и зачем будет
что-то "многопоточно".
Многопоточность требуется из-за условия - билдеры пишут скрипты зон. Для изоляции скриптов друг от друга,
чтобы одни скрипты не влияли на другие скрипты. Если нет многопоточности, то достаточно одного плохого скрипта,
который повесит весь сервер. Такой подход позволит отсеивать плохие скрипты в полуавтоматическом/автоматическом режиме.
А синхронизация нужна, так как скрипты в разных потоках могут работать с одними и теми же объектами мира.
Несомненно, тут нужно думать сколько нужно потоков и что они будут делать.
KadVar писал(а):
Я имел ввиду какую процентную нагрузку на движок дают те или иные компоненты игры. Например, игроки съедают 60% памяти, мобы 30%, объекты 10% и т.д.
Нагрузка небольшая, справится любой компьютер. Мобы съедают больше всего процессора.