Witam.
Czy wątki w delphi po skończeniu swojego działania (procedury Execute). Zwalniają same swoje zasoby, czy też trzeba użyć jakiejś metody free itd...
Witam.
Czy wątki w delphi po skończeniu swojego działania (procedury Execute). Zwalniają same swoje zasoby, czy też trzeba użyć jakiejś metody free itd...
A czym się różni wątek w delphi od innego wątku. To jest to samo. Watek, który współdzieli zasoby nie moze ich zwolnic. Natomiast jezeli tworzysz jakas zmienna lokalna w ramach funkcji danego watku to jest ona zwalniana po usunieciu badz zakonczeniu dzialania watku.
Sorki nie wtrazilem sie jasno. Czy po tym jk uzyje metody na obiekcie
mojWatek := TmojWatek.create (false);
czy musze <ort>puzniej </ort>gdzies wywolywac mojWatek.free albo cos takiego. Moze to wydac sie dla was glupie, ale ja nie programuje w delphi i wole sie zapytac.
Zdaje się że klasa TThread ma property z tym co ma zrobić po wykonaniu wątku i domyślnie to jest ustawione na Free
Nie. Klasa TThread ma właściwość FreeOnTerminate (domyślnie chyba False). Należy ją ustawić na True w treści metody Execute (najlepiej na poczatku) i nie trzeba martwić się o zwolnienie obiektu po zakończeniu wątku (metody Execute).