![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
результат выполнения потока
juice © (2005-02-18 13:52:00)Каким образом лучше всего получать результат выполнения потока ?
Digitman (2005-02-18 15:57:00) [1]
> juice (18.02.05 15:29) [8]
> Почему так? Удобно все таки!
завершая в произв.момент времени приложение (ExitProcess) в надежде что треды якобы успеют сами разрушить свои объекты и корректнго освободить тем самым занятые ими ресурсы, ты не учитываешь одно - ExitProcess просто снимет с выполнения и уничтожит трэды процесса (как ОС-объекты) , ВНЕ зависимости, успели ли они на тот момент завершить "свои дела" или не успели ..
когда же ты ЯВНО даешь трэду команду "закруглиться" и ЯВНО же ждешь фактического его завершения, после чего ЯВНО же уничтожаешь его VCL-экземпляр. все происходит ожидаемо. по-божески, корректно, в соответствии с ожидаемой же тобой логикой освобождения ресурсов
Alexander Panov (2005-02-18 15:35:00) [2]juice (18.02.05 15:29) [8]
Почему так? Удобно все таки!
При автоматическом уничтожени объекта TThread(FreeOnTerminate=True) ты не сможешь получить после окончания вычислений ReturnValue.
juice (2005-02-18 15:29:00) [3]
> и самый дурной из них - FreeOnTerminate
Почему так? Удобно все таки!
Alexander Panov (2005-02-18 14:16:00) [4]juice (18.02.05 14:05) [3]
Вариантов масса, и все как раз зависит от конкретного случая.
Приводи пример, тебе ответят.
MBo (2005-02-18 14:10:00) [5]ReturnValue
WaitFor
OnTerminate
Digitman (2005-02-18 14:09:00) [6]
> разные бывают случаи с уничтожением
и самый дурной из них - FreeOnTerminate
Reindeer Moss Eater (2005-02-18 14:06:00) [7]Посылают сообщение какому-нибудь окну. Например форме.
juice (2005-02-18 14:05:00) [8]Да пусть будет integer. Хранить результат как свойство самого обьекта потока - плохо. т.к. разные бывают случаи с уничтожением. Если поток будет заносить результат в чужой обьект - совсем не красиво (чем я сейчас и пользуюсь). Как делают профи? :)
Fay (2005-02-18 13:59:00) [9]Лучше банковским переводом
Reindeer Moss Eater (2005-02-18 13:56:00) [10]Зависит от того, что из себя представляет этот результат.