我们的团队正在实施一种安全的多层对等协议,该协议使用 Boost/C++ 在多个中间“跃点”上建立节点之间的连接。
我们目前陷入了关于如何实现协议设计的辩论,即作为异步单线程或同步多线程架构。
我不想通过列举利弊来偏向这个问题,但我对 StackOverFlow 社区在这些问题上的经验以及他们喜欢哪种方法非常感兴趣?
我意识到这是一个悬而未决的问题,因此理想情况下,答案不是基于轶事证据,而是来自一些经验或分析基础。
我们的团队正在实施一种安全的多层对等协议,该协议使用 Boost/C++ 在多个中间“跃点”上建立节点之间的连接。
我们目前陷入了关于如何实现协议设计的辩论,即作为异步单线程或同步多线程架构。
我不想通过列举利弊来偏向这个问题,但我对 StackOverFlow 社区在这些问题上的经验以及他们喜欢哪种方法非常感兴趣?
我意识到这是一个悬而未决的问题,因此理想情况下,答案不是基于轶事证据,而是来自一些经验或分析基础。
我会推荐异步有两个原因:
如果连接是独立的,则同步可能更直接,因此没有线程必须共享可变状态。如果你不能做出这样的保证,并且确保它将来不会改变,那么我会选择异步。