gpt4 book ai didi

c++ - 同时调用 async_send 和 async_receive 线程安全吗?

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

我知道调用 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 docs仅指示每个 async_readasync_write 必须连续调用。例如,对于 async_read:

The program must ensure that the stream performs no other read operations (such as async_read, the stream's async_read_some function, or any other composed operations that perform reads) until this operation completes.

socket 的文档没有具体说明这一点,这是真的。

关于c++ - 同时调用 async_send 和 async_receive 线程安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4098455/

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