我有一个C / C ++用例,其中在同一对服务器-客户端对之间需要一对连接。我需要来自连接2的元数据来解析来自连接1的数据。我将在同一两个端点之间有许多这样的同时连接对。 有一台服务器计算机和许多客户端计算机。这些网络连接是使用者。数据是由另一个线程产生的。
我最初的想法是每个连接只有一个线程,但是线程很快就会用完。然后,我想知道异步I / O是否可以在网络方面提供帮助,例如使用asio
库。但是我没有异步网络的经验。
几个问题:
asio
,我将如何与其协调生产线程?我可以在不调试地狱的情况下安全地将线程范例与异步世界混合吗?谢谢!
答案 0 :(得分:0)
深入研究asio
之后,我决定用此答案解决自己的误解。
我认为asio
的“异步”意味着无线程非阻塞I / O。事实却并非如此。您可以完全使用asio::thread
并将事件循环io_context::run()
分配给线程。