我使用带有后端的 AMQP-CPP库。libev
我尝试创建一个将打开连接并进行消费的类。我想在工作线程中运行连接的循环,以免阻塞主线程。那部分代码看起来像这样
...
m_thread.reset(new std:thread([this]()
{
ev_run(m_loop, 0);
}));
...
然后在某个时候我想停止循环。我读过可以用ev_break()
函数来做到这一点。但是,它应该从与被调用的线程相同的线程ev_run()
中调用。更多搜索表明该ev_async_send()
功能可能会这样做,但我不知道如何。
我该怎么做?有任何想法吗?