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