我有这个架构:
我有一个线程可以持续监视共享变量的状态。我想KVO
在 c++ 中开发一个类似于 Objective-C 的系统。在实践中,我想将变量的状态变化通知给 thread02。
你把这种模式叫做什么?
实现这一目标的最佳方法和最简单的方法是什么?
我想我可以有一个 thread01 addObserver 的方法,你可以在其中传递一个函数指针,但我想成为 thread02 执行这个函数的代码(当他准备好时)
你有什么建议吗?
一些例子?
我有这个架构:
我有一个线程可以持续监视共享变量的状态。我想KVO
在 c++ 中开发一个类似于 Objective-C 的系统。在实践中,我想将变量的状态变化通知给 thread02。
你把这种模式叫做什么?
实现这一目标的最佳方法和最简单的方法是什么?
我想我可以有一个 thread01 addObserver 的方法,你可以在其中传递一个函数指针,但我想成为 thread02 执行这个函数的代码(当他准备好时)
你有什么建议吗?
一些例子?
它被称为观察者模式,最初在设计模式一书中进行了描述。C++ 中的示例存在于例如 CodeProject中。
为了解决你的线程问题,你提供给被观察对象的回调函数应该作为一个信号,它应该唤醒另一个线程并告诉它开始工作。您可以为此信号使用条件变量。