gpt4 book ai didi

c++ - boost::asio 线程池与 io_service_per_cpu 设计

转载 作者:可可西里 更新时间:2023-11-01 18:26:52 29 4
gpt4 key购买 nike

目前我不确定,我尝试制作一个高性能服务器,我有一个 6 核 CPU,所以如果我使用“io_service_per_cpu”设计,我有 6 个 io_service。

我已经听说线程池设计不是最好的,但我不确定。

你有什么知识?有人已经对每个进行了压力测试,还是其他?

最佳答案

根据我的经验,按照以下顺序进行异步应用程序设计要容易得多:

  1. 单线程和单io_service
  2. 多个线程,每个线程从单个 io_service 调用 io_service::run()。使用 strands用于需要访问共享数据结构的处理程序。
  3. io_service 每个 cpu

在对您的应用程序进行概要分析后,应确定在这些设计之间进行更改的动机。请注意 HTTP Server 2示例仅展示了如何为每个 CPU 使用 io_service,并未展示何时或为何使用此类设计。

关于c++ - boost::asio 线程池与 io_service_per_cpu 设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6161725/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com