- Согласно документации boost::asio, для каждого io_context может быть создан один или несколько дополнительных потоков, которые будут использоваться для разрешения хоста.
разрешения хоста. По умолчанию создается только один поток, но это
поведение можно изменить с помощью опции конфигурации «resolver» / «threads».
https://www.boost.org/doc/libs/latest/d ... ation.html
Эта ссылка содержит инструкции о том, как установить количество потоки, которые будут использоваться в случае асинхронного разрешения хоста
https://www.boost.org/doc/libs/latest/d ... ation.html
Следуя этим инструкциям, я использовал следующий код, чтобы установить количество потоков преобразователя равным 16.
Код: Выделить всё
#include
#include
#include
#include
using boost::asio::ip::tcp;
int main() {
boost::asio::io_context io(boost::asio::config_from_string("resolver.threads=16\n"));
tcp::resolver resolver(io);
resolver.async_resolve(
"example.com",
"443",
[&](const boost::system::error_code& ec, tcp::resolver::results_type results)
{
if (ec) {
std::cout
Подробнее здесь: [url]https://stackoverflow.com/questions/79836900/number-of-threads-for-domain-name-resolution-in-boost-asio[/url]
Мобильная версия