1

2 つの C++ アプリケーションがあります。

  1. calc - 計算集約的で、ファイルから構成を読み取ります

  2. ui - 使いやすさを提供します。ユーザーが UI で行った選択を構成に変換し、計算を起動し、計算が完了すると結果を表示します。

uiでcalcのいくつかのインスタンスを起動し、それらすべてが終了するのを待ってから、すべての結果を処理したいと思います。問題は、同時に起動された 8 つのプロセスが終了するのをどのように待つことができるかということです。少しグーグルで調べましたが、結論には達しませんでした。P_NOWAIT を使用した spanwl は有望に思えましたが、プロセスが既に終了しているかどうかを確認する簡単な (「組み込み」) 方法はないようです。

どんな助けでも大歓迎です、ダニエル

4

1 に答える 1

2

CreateProcess を呼び出してプロセスを作成すると、待機できるプロセス ハンドルが返されます。一度に複数のハンドルを待機するには、WaitForMultipleObjects関数を使用します。この関数には制限があります。一度に処理できるのは MAXIMUM_WAIT_OBJECTS (XP では 64、Win7 では不明) だけです。

于 2012-09-23T10:41:21.823 に答える