functionLarge()
を呼び出す1スレッドのprogrammがあり、呼び出し元の次のコードラインの前に終了する必要がありますmain
機能。関数がうまく分解され、時間がかかると仮定してください。このanswer.wait()
で
を提案し、よりその優れたのだろうかされていますメイン(1つのスレッド)を続行する前に関数が終了するまで待つ
bool done = false;
// returning true at the end, modifies bigObject by refrence
done = functionLarge(bigObject);
while(!done) { usleep(1000); }
//...can now continue
は戻っbool
ずに、そこより良いアプローチはありますか?
「bool」の使用をやめ、プログラムを通常の実行順序で実行させますか? – MikeCAT
あなたのアプローチは悪いです。なぜなら、 'dont'の値は割り当てられた後に魔法のように変化しないので、ループは0か無限になります。 – MikeCAT
'functionLarge'が完了するまで、あなたはwhileを入力しません。 – Dacav