Нужны ли мне TThreads? Если да, могу ли я сделать паузу, возобновить и остановить их?

Мне всегда было интересно, есть ли лучший способ написать некоторые из моих процедур, особенно те, которые требуют много времени, чтобы закончить.

Я всегда запускаю все из основного потока графического интерфейса, который я теперь понимаю и понимаю, что это плохо, потому что это сделает приложение не отвечающим,Application.ProcessMessages не очень поможет здесь.

Это заставляет меня думать, что мне нужно использовать TThreads для длительных операций, таких как, например, копирование файла. Это также заставляет меня задуматься о том, как некоторые приложения дают вам полный контроль, например, позволяют вам приостанавливать, возобновлять или останавливать операцию.

У меня есть около 3 длительных операций в личном проекте, над которым я работаю, и который отображает диалоговую форму с TProgressBar. Хотя это работает, я чувствую, что это можно сделать намного лучше. Эти диалоговые окна прогресса могут отображаться в течение такого длительного времени, что вы можете отменить операцию и завершить ее позже.

Как я уже сказал, в настоящее время я использую Main Gui Thread, нужно ли мне вместо этого использовать TThreads? Я не уверен, как или с чего начать их реализацию, так как раньше я с ними не работал. Если мне нужны потоки, они предлагают то, что мне нужно, например, приостановка, возобновление, остановка операции и т. Д.?

В основном я ищу лучший способ обработки и управления длительными операциями.

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

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