私は最近、ATLのCThreadPoolクラスを発見し、この発見に非常に満足していました。これは、タスクのいくつかのキューを処理するために複数のワーカースレッドを持つ同期化のセマンティクスを処理するきちんとした小さなクラスです。タスクは、いくつかの外部プロセスによってCThreadPoolオブジェクトに供給されます。CThreadPoolのワーカースレッドからエラー情報を転送する最善の方法は何ですか?
ここで、ワーカー・スレッドの1つにエラーが発生したか、または例外が発生したとします。私はあなたのアプリケーション全体がちょうど死ぬことを望む例外のタイプを意味するものではありませんが、あなたがより優雅に対処したいものです。優雅な言い方をすれば、アプリケーションが死ぬ可能性があることを意味しますが、私はいくつかのクリーンアップ作業を行い、それがなぜ行われたかについてプロッパーメッセージをどこかに置く必要があります。
CThreadPoolオブジェクトを所有するメインスレッドにエラー情報(メッセージ、エラーコード、ソースなど)を転送する最良の方法は何ですか?