[英]C++ Boost Signals connecting two functions from two different classes in template
[英]C++ - Passing signals between threads of to functions of different classes?
基本问题,但无法找到解决方案。 我需要.IVEify_one()由DERIVED_TWO接收,我已经在同一类中测试了代码,并且可以正常工作吗?
#include <mutex>
class BASE
{
public:
std::mutex(mu);
std::condition_variable condition;
};
class DERIVED_ONE:public BASE
{
public:
auto DoStuff()->void
{
std::unique_lock<mutex> lock(mu);
//Do Stuff here...
lock.unlock();
condition.notify_one();
}
};
class DERIVED_TWO:public BASE
{
public:
auto DoMoreStuff()->void
{
std::unique_lock<mutex> lock(mu);
condition.wait(lock);
//Do even more stuff...
lock.unlock();
}
};
旁注:我可以使用多态对象在类之间传递消息,尽管这似乎是一个麻烦的解决方案
除非您将其声明为静态,否则类的不同实例将不会共享相同的条件变量对象。 我也怀疑您是否希望他们这样做。 我将实现一个单独的消息队列类,可以根据需要将其实例化为通信通道,并在创建时传递给您其他类的实例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.