LINUX.ORG.RU

История изменений

Исправление Gvidon, (текущая версия) :

И все это в while(1). Вот этот момент и не нравится.

В случае небольших нагрузок, цикл — это вполне нормальное рабочее решение, а вот глобальные переменные — это зло. Наиболее распространённый вариант — это очередь, рабочие потоки напихивают данные в очередь, обработчик в своём потоке забирает данные из очереди и что-то с ними делает. Очередь, естественно, нужна потокобезопасная.

Исходная версия Gvidon, :

И все это в while(1). Вот этот момент и не нравится.

В случае небольших нагрузок, цикл обработки сообщений — это вполне нормальное рабочее решение, а вот глобальные переменные — это зло. Наиболее распространённый вариант — это очередь, рабочие потоки напихивают данные в очередь, обработчик в своём потоке забирает данные из очереди и что-то с ними делает. Очередь, естественно, нужна потокобезопасная.