我有这个架构:
我有一个线程,可以连续监视共享变量的状态。
我想开发一个类似于c++中的Objective-C KVO
的系统。实际上,我想通知thread02变量的状态更改。
您怎么称这种模式?
什么是实现此目的的最佳方法和最简单的方法?
我以为我可以有一个thread01 addObserver方法,您可以在其中传递一个函数指针,但是我想成为执行该函数代码的thread02(当他准备好时)
有什么建议吗?
一些例子?
最佳答案
它称为观察者模式,最初是在Design Patterns书中描述的。 C++中的示例存在e.g. at CodeProject。
为了解决线程问题,提供给观察对象的回调函数应充当信号,该信号应唤醒另一个线程并告诉它开始工作。您可以为此信号使用condition variable。