5

TThread オブジェクトがあり、プログラムのメイン フォームのボタンを使用してスレッドを開始/停止できるようにしたいと考えています。これを行う方法を検討してきましたが、これまでのところ、次のアイデアがあります。

  1. ユーザーが停止をクリックするとスレッドを終了して解放し、開始をクリックすると新しいスレッドを作成します。
  2. スリープを使用してスレッドを遅らせます (これはやりたくありません)
  3. スレッドが一時停止されているかどうかを判断するブール値のプロパティがあります。Execute のコードは、このブール値が false の場合にのみ発生します。

私は#3に傾いています。メイン フォームから TThread オブジェクトにブール値のプロパティを設定すると、スレッドセーフになりますか?

これらのオプション、またはより良い代替手段のどれを使用する必要がありますか? スレッドを使用するのはこれが初めてなので、助けていただければ幸いです。

4

2 に答える 2