boost.asio的异步回调函数是否在同一线程中执行

boost.asio中有async_read_some,async_accept,async_write_some,async_connect这几个函数,那么他们的回调函数都在同一线程吗?如果io_context在单线程运行,那么是的,测试如下。

class LIBTEST_BOOST_DLL TcpServer
{
   
   
public:
	typedef  boost::asio::ip::tcp::socket tcp_socket_t;
	typedef  boost::asio::ip::tcp::acceptor tcp_acceptor_t;
	typedef  boost::asio::ip::tcp::endpoint tcp_endpoint_t;
	typedef  boost::asio::io_context io_context_t;
	TcpServer(io_context_t &io, const tcp_endpoint_t& endpoint);
	void Accept();
	void ReadHandler(tcp_socket_t *sock);
private:
	tcp_acceptor_t acceptor_;
	io_context_t *io_;
	std::vector<char> buf_;
	uint64_t cnt_ = 0;
};
class LIBTEST_BOOST_DLL TcpClient
{
   
   
public:
	typedef  boost::asio::ip::tcp::socket tcp_socket_t;
	typedef  boost::asio::ip::tcp::endpoint tcp_endpoint_t;
	typedef  boost::asio::io_context io_context_t;
	TcpClient(io_context_t &io);
	void Connect(const tcp_endpoint_t& endpoint);
	void Write();
private:
	tcp_socket_t sock_;
	io_context_t  *io_;
	uint64_t cnt_ = 0;
};

TcpServer::TcpServer(io_context_t &io, const tcp_endpoint_t& endpoint)
	:acce
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值