3

我有这个架构:

我有一个线程可以持续监视共享变量的状态。我想KVO在 c++ 中开发一个类似于 Objective-C 的系统。在实践中,我想将变量的状态变化通知给 thread02。

你把这种模式叫做什么?

实现这一目标的最佳方法和最简单的方法是什么?

我想我可以有一个 thread01 addObserver 的方法,你可以在其中传递一个函数指针,但我想成为 thread02 执行这个函数的代码(当他准备好时)

你有什么建议吗?

一些例子?

4

1 回答 1

3

它被称为观察者模式,最初在设计模式一书中进行了描述。C++ 中的示例存在于例如 CodeProject中。

为了解决你的线程问题,你提供给被观察对象的回调函数应该作为一个信号,它应该唤醒另一个线程并告诉它开始工作。您可以为此信号使用条件变量。

于 2013-06-03T07:55:51.840 回答