1

実行しているスレッドが終了したかどうかを知る方法が必要です。終了していない場合は待機し、終了している場合は成功メッセージを出力します。

ライブラリスレッドからc++11にメソッドなどが見つかりません。使用しているスレッド内でグローバル変数を設定できずexecvp、成功しても返されません。

それを行う方法はありますか?メソッドまたはフラグまたはその他のもの。

Edit:明確にするために、スレッドが終了したかどうかをチェックする関数を作成したいと思います。

4

1 に答える 1

6

C++11 の先物と約束を使用できます。

フューチャーは、スレッド間で値を渡すための高レベルのメカニズムであり、ロックを直接管理することなく、結果が利用可能になるまでスレッドが待機できるようにします。

プレーン スレッドを使用する場合よりも先物を使用する利点は次のとおりです。

  • Future は値を返します。
  • タイムアウトで未来を待つことができます。

確かに、これはプレーン スレッドで実行できますが、C++11 でホイールを再実装する必要はありません。

于 2012-11-13T11:02:31.977 に答える