gpt4 book ai didi

c++ - 网络协议(protocol)设计的异步单线程与同步多线程?

转载 作者:搜寻专家 更新时间:2023-10-31 00:40:26 24 4
gpt4 key购买 nike

我们的团队正在实现一个安全的多层对等协议(protocol),该协议(protocol)使用 Boost/C++ 通过多个中间“跃点”在节点之间建立连接。

我们目前正在争论如何实现协议(protocol)设计,即作为异步单线程或同步多线程架构。

我不想通过列举利弊来使问题产生偏见,但我对 StackOverFlow 社区在此类问题上的经验以及他们会支持哪种方法非常感兴趣?

我意识到这是一个悬而未决的问题,因此理想情况下,答案不会基于轶事证据,而是源自一些经验或分析基础。

最佳答案

我推荐异步有两个原因:

  • 您无需处理线程交互,线程交互始终是 bug 的雷区;
  • 您可以使用 Boost.Asio处理所有低级调度、连接管理等的库。如果出于性能原因需要,这也使得使用多个线程变得容易。

如果连接是独立的,那么同步可能会更直接,这样就没有线程必须共享可变状态。如果你不能做出那个保证,并且确定它以后不会改变,那我会选择异步。

关于c++ - 网络协议(protocol)设计的异步单线程与同步多线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14750559/

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