Мой проект - это сервер заданий, в котором хранятся команды, полученные UDP в очереди. Каждая команда имеет значение интервала, которое должно быть выполнено, и значение тайм-аута, которое нужно удалить. Эти действия контролируются таймером, который должен запускаться независимо от кода сервера, как 2 процесса.Как использовать сокеты и таймеры без блокировки друг друга?
Каков наилучший способ сделать сервер и таймер работать без блокировки друг друга? Я думаю о потоках или асинхронных вызовах, но я новичок в C++, и я не знаю, как применять эти идеи в моем коде.
Я использую Visual C++ 2010 и ASIO от Boost 1.48.
Спасибо!
Threading - это одно из решений, но если вы можете гарантировать, что обработка ваших событий времени не займет слишком много времени, вы можете сделать все в одном потоке с помощью одного основного цикла и обработчиков сигналов. Однопоточное программирование намного проще, поэтому стоит рассмотреть ваши варианты. –