Delphi/C++Builder/java でスレッドをスレッドじゃなく使いたい

Delphi/C++Builder でスレッドをスレッドじゃなく使いたい

スレッドで構築したけど、関数的に利用したい処理があったりする
AMyThread := TMyThread.Create(True);
AMyThread.FreeOnTerminate := False;
AMyThread.Start;
AMyThread.WaitFor; // ←スレッドが終了するまで、呼び出し側スレッドが停止します
// :
AMyThread.Free;
WaitFor メソッドは ReturnValue プロパティの値を戻り値とするため、FreeOnTerminate が True だと、ReturnValue を WaitFor が呼びに行った時には、オブジェクトが自動解放されてしまいエラーになります

ちなみに java では
thread.start(); // 開始
thread.join(); // 終了待ち

コメント