3

私はこのアーキテクチャを持っています:

共有変数のステータスを継続的に監視するスレッドがあります。KVOc++ でObjective-C に似たシステムを開発したいと考えています。実際には、変数の状態変化を thread02 に通知したいと考えています。

このようなパターンを何と呼びますか?

これを達成するための最良の方法と最も簡単な方法は何ですか?

関数ポインターを渡すメソッドを thread01 addObserver にできると思っていましたが、この関数のコードを実行する thread02 になりたいと思います (準備ができたら)。

提案はありますか?

いくつかの例?

4

1 に答える 1

3

これはオブザーバー パターンと呼ばれ、もともとはデザイン パターンの本で説明されていました。C++ の例は CodeProject などにあります。

スレッドの問題を解決するには、監視対象のオブジェクトに提供するコールバック関数がシグナルとして機能する必要があります。これにより、他のスレッドが起動され、作業を開始するように指示されます。このシグナルには条件変数を使用できます。

于 2013-06-03T07:55:51.840 に答える