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