«Приостановка» потока со свойством

У меня есть объект TThread и я хочу иметь возможность запускать / останавливать поток с помощью кнопки в основной форме программы. Я искал способы сделать это, и до сих пор у меня есть следующие идеи:

Завершите и освободите поток, когда пользователь нажмет кнопку «Стоп», и создайте новый, когда он нажмет кнопку «Пуск».Используйте сон, чтобы задержать поток (я не хочу этого делать)Имейте свойство, которое является логическим, чтобы определить, приостановлен ли поток или нет. Код в Execute произойдет только в том случае, если это логическое значение false.

Я склоняюсь к # 3. Будет ли установка логического свойства для объекта TThread из главной формы поточно-ориентированным?

Какой из этих вариантов или лучшую альтернативу я должен выбрать? Я впервые использую темы, поэтому любая помощь приветствуется.

Ответы на вопрос(2)

Ваш ответ на вопрос