"Anhalten" eines Threads mit einer Eigenschaft

Ich habe ein TThread-Objekt und möchte den Thread über eine Schaltfläche in der Hauptform des Programms starten / stoppen können. Ich habe nach Möglichkeiten gesucht, dies zu tun, und bisher habe ich die folgenden Ideen:

Terminate and Free the thread, wenn der Benutzer auf stop klickt, und erstelle einen neuen Thread, wenn er auf start klickt.Verwenden Sie sleep, um den Thread zu verzögern (ich möchte das nicht tun)Haben Sie eine Eigenschaft, die ein Boolescher Wert ist, um zu bestimmen, ob der Thread angehalten wurde oder nicht. Der Code in Execute wird nur ausgeführt, wenn dieser Boolesche Wert false ist.

Ich neige zu # 3. Wäre das Festlegen einer booleschen Eigenschaft für das TThread-Objekt im Hauptformular threadsicher?

Welche dieser Optionen oder eine bessere Alternative sollte ich wählen? Dies ist das erste Mal, dass ich Threads benutze, daher ist jede Hilfe willkommen.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage