LINUX.ORG.RU

Советы!


0

0

Здраствуйте! Надо написать сервер для онлайн 3D игры. Тоесть обрабатывать максимальное количество соединений с максимальной производительностью, стабильностью и конечно безопасностью. Данные будут хранится в БД MySQL. Что лучше и почему, для каждого соединения создавать поток(pthread_create) или дочернюю программу(fork)? Как , как можно более корректнее, завершить работу потока в котором произошла ошибка, при этом чтоб не вылетел весь сервак?

хм... ну, насколько я знаю, в postgreSQL, например, используется fork. вроде бы так.

hibou ★★★★★
()
Ответ на: комментарий от hibou

Ууу, случай серьёзный... Во первых почитай про C10k problem, и fork и pthread_create будут сосать при большом количестве соединений, тут нужно использовать /dev/poll или аналогичный механизм.

krum
()

потоков\процессов должно быть столько, сколько на машине процессоров - для максимальной утилизации ресурсов. Все остальные соединения обрабатываются с помощью соответствующих механизмов.

anonymous
()
Ответ на: комментарий от nikolayd

> kevent/kqueue на freebsd/linux

В луниксе появился kevent? Я что-то пропустил? :)

swizard
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.