Вниз
Скачать: CL | DM;

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

 
juice   (2005-02-18 13:52) [0]

Каким образом лучше всего получать результат выполнения потока ?


 
Reindeer Moss Eater ©   (2005-02-18 13:56) [1]

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


 
Fay ©   (2005-02-18 13:59) [2]

Лучше банковским переводом


 
juice   (2005-02-18 14:05) [3]

Да пусть будет integer. Хранить результат как свойство самого обьекта потока - плохо. т.к. разные бывают случаи с уничтожением. Если поток будет заносить результат в чужой обьект - совсем не красиво (чем я сейчас и пользуюсь). Как делают профи? :)


 
Reindeer Moss Eater ©   (2005-02-18 14:06) [4]

Посылают сообщение какому-нибудь окну. Например форме.


 
Digitman ©   (2005-02-18 14:09) [5]


> разные бывают случаи с уничтожением


и самый дурной из них - FreeOnTerminate


 
MBo ©   (2005-02-18 14:10) [6]

ReturnValue
WaitFor
OnTerminate


 
Alexander Panov ©   (2005-02-18 14:16) [7]

juice   (18.02.05 14:05) [3]


Вариантов масса, и все как раз зависит от конкретного случая.
Приводи пример, тебе ответят.


 
juice   (2005-02-18 15:29) [8]


> и самый дурной из них - FreeOnTerminate

Почему так? Удобно все таки!


 
Alexander Panov ©   (2005-02-18 15:35) [9]

juice   (18.02.05 15:29) [8]
Почему так? Удобно все таки!


При автоматическом уничтожени объекта TThread(FreeOnTerminate=True) ты не сможешь получить после окончания вычислений ReturnValue.


 
Digitman ©   (2005-02-18 15:57) [10]


> juice   (18.02.05 15:29) [8]
> Почему так? Удобно все таки!


завершая в произв.момент времени приложение (ExitProcess) в надежде что треды якобы успеют сами разрушить свои объекты и корректнго освободить тем самым занятые ими ресурсы, ты не учитываешь одно - ExitProcess просто снимет с выполнения и уничтожит трэды процесса (как ОС-объекты) , ВНЕ зависимости, успели ли они на тот момент завершить "свои дела" или не успели ..

когда же ты ЯВНО даешь трэду команду "закруглиться" и ЯВНО же ждешь фактического его завершения, после чего ЯВНО же уничтожаешь его VCL-экземпляр. все происходит ожидаемо. по-божески, корректно, в соответствии с ожидаемой же тобой логикой освобождения ресурсов



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.024 c
14-1108091284
Думкин
2005-02-11 06:08
2005.03.06
С Днем рождения! 11 февраля


3-1107845359
dreamse
2005-02-08 09:49
2005.03.06
Не пойму как возвратить результат запроса


1-1108674888
Morn Gil
2005-02-18 00:14
2005.03.06
Стиль XP


3-1107361560
salexn
2005-02-02 19:26
2005.03.06
утилита для работы с MSSQL


1-1108823266
Коля
2005-02-19 17:27
2005.03.06
есть StringGrid. как выделить текст в одной из ячеек програмно?




   Наверх