Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

результат выполнения потока


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]

Зависит от того, что из себя представляет этот результат.


Наверх

Титульная страница Поиск, карта сайта Написать письмо