Я создаю однопоточный сервер aync, который получает данные от клиентов. Он обрабатывает данные, а затем сохраняет их в базе данных MySQL.Использование API блокировки Mysql с Boost :: asio
Проблема заключается в том, что MySQL C API не поддерживает неблокирующие вызовы, а asio в основном не любит блокировки вызовов.
Так что я думаю что-то вроде deferToThread() Python Twisted, как семантика. Кто-нибудь, кто уже развил такую вещь? Или я должен его реализовать?
Это тривиально с asio, чтобы иметь нить за соединение. Вам нужен поток для каждого соединения и поток на mysql write? –
Я не хочу иметь нить за соединение. Это убьет масштабируемость сервера. – serialx