Czy potrzebuję TThreads? Jeśli tak, czy mogę je zatrzymać, wznowić i zatrzymać?

Zawsze zastanawiałem się, czy jest lepszy sposób, w jaki powinienem napisać niektóre z moich procedur, szczególnie tych, których ukończenie zajmuje dużo czasu.

Zawsze uruchamiałem wszystko z głównego wątku GUI, który teraz rozumiem i rozumiem, że jest zły, ponieważ spowoduje, że aplikacja przestanie odpowiadać,Application.ProcessMessages naprawdę nie pomoże tutaj.

To sprawia, że ​​myślę, że muszę używać TThreads do długich operacji, takich jak na przykład kopiowanie pliku. Zastanawiam się również, w jaki sposób niektóre aplikacje zapewniają pełną kontrolę, np. Pozwalają wstrzymać, wznowić lub zatrzymać operację.

Mam około 3 długich operacji w osobistym projekcie, nad którym pracuję, na których wyświetla się formularz dialogowy z TProgressBar. Chociaż to działa, czuję, że można to zrobić znacznie lepiej. Te okna dialogowe postępu mogą być wyświetlane przez tak długi czas, że możesz anulować operację i zamiast tego zakończyć zadanie później.

Jak powiedziałem, obecnie używam głównego wątku Gui, czy zamiast tego muszę używać TThreads? Nie jestem pewien, jak i gdzie zacząć ich wdrażać, ponieważ wcześniej z nimi nie pracowałem. Jeśli potrzebuję wątków, oferują one to, czego potrzebuję, takie jak wstrzymywanie, wznawianie, zatrzymywanie operacji itp.?

Zasadniczo szukam lepszego sposobu obsługi i zarządzania długimi operacjami.

questionAnswers(4)

yourAnswerToTheQuestion