は..このマルチスレッドアプリケーションをスケジュールするにはどうすればよいですか?
いくつかの複雑な作業は、現在の状態は、そのスレッドAであり、B、Cが同時に動作することができます4スレッド
thread -A is calling function_A
thread -B is calling function_B
thread -C is calling function_C
thread -D is calling function_D
によって分割されているが、これまで、スレッドDはfunction_Dにそれを実行している場合の一例を有することができA、B、Cからのスレッドはそこで実行されていますか?そうであれば、それらが完了するのを待って、a、b、cからのスレッドが関数を実行していないとき、スレッドDは関数Dを実行し始めるでしょう。
どうすればいいのですか?ラフのアイデアは?
EDIT:function_A、function_B、function_cは1つのハンドルを使用しています。 function_Dはそのハンドルを閉じています。その関数を使用している関数があれば、それをfunction_dで閉じてはいけません。
セマフォの使用についてもう少し詳しく知りたい場合は(以下の回答を使用する以外に)、「セマフォの小さな本」http://greenteapress.com/semaphores/を読んでみてください。 – evnu