0

たくさんのプロセスを分岐させています。メインの元のプロセスが他のすべてのプロセスが終了するまで待機するための「バリア」を作成したいと思います。コードフローは次のようになります。

#...the main thread is executing now, and reaches this foreach loop:

foreach arg (myArgs)

    some_command arg & #these are the processes being forked off

end

#I want the main thread to WAIT here until all the above processes finish!

#... More code below here for the main thread to continue with

必要な同期プリミティブ、またはUNIXシェル環境で使用できるものがわかりません。たぶん、メインスレッドの障壁のようなものですか?

助けてくれてありがとう。

4

1 に答える 1

2

ベアwaitは、すべての子プロセスが終了するのを待ちます。

待つ:待つ[n]

指定されたプロセスを待ち、その終了ステータスを報告します。Nが指定されていない場合、現在アクティブなすべての子プロセスが待機され、戻りコードはゼロになります。 Nは、プロセスIDまたはジョブ仕様です。ジョブ仕様が指定されている場合、ジョブのパイプライン内のすべてのプロセスが待機されます。

于 2012-10-24T23:46:25.330 に答える