multithreading - 多线程boost-asio服务器(vs boost异步服务器教程)

标签 multithreading client-server boost-asio

我正在关注boost-asio tutorial,但不知道如何使用boost制作多线程服务器。我已经编译并测试了daytime clientdaytime synchronous server并改善了通信(服务器向客户端询问命令,对其进行处理,然后将结果返回给客户端)。但是此服务器一次只能处理一个客户端。

我想使用boost做一个多线程服务器。还有daytime asynchronous server执行

boost::asio::io_service io_service;
tcp_server server(io_service);
io_service.run();

在主程序功能中。问题是-boost是否在内部某个地方为每个客户端创建线程?这是多线程解决方案吗?如果不是-如何使带有Boost的多线程服务器?感谢您的任何建议。

最佳答案

看看this教程。简而言之:

多个线程中的

  • io_service.run()提供了一个线程池
  • 多个io_services提供完全独立的线程
  • 关于multithreading - 多线程boost-asio服务器(vs boost异步服务器教程),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13936567/

    相关文章:

    android - 我正在使用 AsyncTask 来执行一项长时间运行的任务,但它似乎仍在主 ui 中执行

    IOS boost asio 从 ipv6 网络连接

    c++ - boost::asio 挂起_endthreadx

    .net - .NET 2.0 是否有一个精简的读/写锁?

    java - java线程结束后继续运行

    java - 阻塞队列 : put() and isEmpty() do not work together?

    c - 在多线程服务器中使用 Pthread

    c - WSAStringToAddress 错误 10022/从控制台参数读取 IPv6

    java - 将文件从客户端发送到服务器

    c++ - Visual Studio 在作者的 Boost Asio 示例中提示 co_await