我有这个架构:

我有一个线程,可以连续监视共享变量的状态。
我想开发一个类似于c++中的Objective-C KVO的系统。实际上,我想通知thread02变量的状态更改。

您怎么称这种模式?

什么是实现此目的的最佳方法和最简单的方法?

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

有什么建议吗?

一些例子?

最佳答案

它称为观察者模式,最初是在Design Patterns书中描述的。 C++中的示例存在e.g. at CodeProject

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

10-07 22:33