MFCでVisual C++を使用します。私のコードで特定のイベントが発生すると、10秒後に呼び出される関数を設定して、何らかのアクティビティを実行したいと考えています。このイベントの処理は、MFCへの直接リンクを持たない静的ライブラリで発生します(このようにしたいと思います)。C++:今後の関数呼び出しのスケジュール?
今後、ある時点で関数を呼び出すようにスケジュールするにはどうすればよいですか?私はタイマーを使用すると思いますか?自分のビジネスコードがGUIに直接依存しないようにTimer(MFC依存関係)をどのように切り離すのですか?タイマー以外の何か?
更新
は最近、私の状況のための有望なようだCommand Patternについて読み始めました。説明が(私の強調)である:オブジェクト指向プログラミングにおいて
、コマンド・パターンは、オブジェクトが呼び出しAの方法に必要なすべての 情報を表し、カプセル化するために使用される設計 パターンであります後の時間。
ビジネスロジックがGUIスレッドから呼び出され、そのスレッドのスリープによってGUIがハングアップする可能性があるため、スリープが機能しないと思います。 Win32タイマーはMFCよりやや優れていますが、依然としてWin32に依存しています。私はタイマーを抽象化し、ビジネスクラスに依存関係を注入したTimerServiceクラスを考えていました。 – User
C++ 11にも条件変数があります。 – Ryan