繁体   English   中英

同时调用async_send和async_receive是线程安全的吗?

[英]Is it thread safe to call async_send and async_receive at the same time?

我了解boost::asio::ip::tcp::socket::async_receive调用boost::asio::ip::tcp::socket::async_receive (或boost::asio::ip::tcp::socket::async_send )可能会导致不良行为。如果我同时调用boost::asio::ip::tcp::socket::async_reciveboost::asio::ip::tcp::socket::async_send可以吗?

我要让2个或更多线程运行boost::asio::run因此您需要考虑到这一点。

谢谢

这一定可以。 您还将如何在单个服务上执行全双工异步通信? 您始终需要接收到的未接收数据。

Boost文档仅指示async_readasync_write中的每一个都必须串行调用。 例如,对于async_read

程序必须确保该流完成之前,该流不执行其他任何读取操作(例如async_read,该流的async_read_some函数或任何其他执行读取的组合操作)。

socket的文档在这一点上并不具体,这是事实。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM