Amigos, le escribo esta vez porque tengo la siguiente duda y parto desde la base que todo lo que uno crea en un programa debe de destruirlo cuando ya no lo necesite. Estoy acostumbrado a que cada vez que hago un
Código:
A := TA.Create();
.......
luego hago un
Entonces la duda me surge en una aplicación que estoy realizando y en la que utilizo hilos. Días atrás hice algunas preguntas porque era nuevo en este mundo y ya logré que me funcionara pero me ha quedado la siguiente duda: los hilos que estoy creando en mi programa una vez terminados su ejecución debo de destruirlos? y de que forma?
Revisando en los ejemplos de Delphi 7, específicamente el de hilos veo que hacen esto:
Código:
with TBubbleSort.Create(BubbleSortBox, BubbleSortArray) do
OnTerminate := ThreadDone;
with TSelectionSort.Create(SelectionSortBox, SelectionSortArray) do
OnTerminate := ThreadDone;
with TQuickSort.Create(QuickSortBox, QuickSortArray) do
OnTerminate := ThreadDone;
y yo hice algo similar pero no me doy cuenta donde es que estos hilos se destruyen, solo veo en redefinición del método Sort una línea como esta:
Código:
if Terminated then Exit;
en otros ejemplos de un colega de aquí vi que ponía dentro del Create del hilo la siguiente línea:
Código:
FreeOnTerminate := True;
y entonces les pregunto cómo proceder para que una vez que lo que yo ponga en el método Execute de cada uno de los hilos que cree mi aplicación termine, como no los voy a necesitar más se liberen los recursos que se asignaron cuando el hilo se creó.
Gracias por su atención.