重い CPU/RAM 処理を行う必要があるタスクがあります。その結果、いくつかのデータベース リクエストを実行する必要があります。このすべてを数千回実行する必要があるため、バックグラウンド スレッド内で実行しています。現在、各タスクを 2 つの部分に分割し、それらを 2 つの別々のスレッドに分割して、最初のスレッドがデータベース リクエストの終了を待つ必要がないようにすることを検討しています。次に、2 番目のスレッドが最初のラウンドのデータベース要求を待っている間に、2 番目のラウンドの CPU/RAM 処理を行うことができ、すべてが高速化されます。
さて、最初の TThread から 2 番目の TThread の子孫をインスタンス化しても安全でしょうか? または、MainThread 内から TThread の子孫をインスタンス化する必要がありますか? 私は両方を行うことができますが、私の場合、最初のスレッド内から 2 番目をインスタンス化する方が簡単であり、2 番目のスレッドはプログラムの残りの部分に対して透過的であるため、oop パラダイムに従います。