Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.06.11;
Скачать: [xml.tar.bz2];

Вниз

Как проверить существует ли поток...   Найти похожие ветки 

 
Tempora   (2006-05-22 18:07) [0]

Есть два потока. В одноим из потоков должна идти обработка которая требует результатов из другого потока.
Как убедиться перед запуском обработки что второй поток закончил свою работу (свое выполнение)? И если не закончил, то дождаться его?


 
TUser ©   (2006-05-22 18:10) [1]

Проверить флаг TThread.Terminated
while not YourThread.Terminated do sleep(1000);

Воспользоваться встроенными в Windows средствами синхронизации - например, создать в потоке мьютекс и вызвать подождать его освобождения. Подробно этот вопрос описан, например, в книге Рихтера.


 
Eraser ©   (2006-05-22 18:13) [2]


> TUser ©   (22.05.06 18:10) [1]


> создать в потоке мьютекс и вызвать подождать его освобождения

в качестве объекта синхронизации (т.е. того который передаётся в wait функцию) может выступать и сам поток, вернее его дескриптор.
The WaitForSingleObject function can wait for the following objects:
Change notification
Console input
Event
Job
Memory resource notification
Mutex
Process
Semaphore
Thread
Waitable timer


 
Leonid Troyanovsky ©   (2006-05-22 18:15) [3]


> TUser ©   (22.05.06 18:10) [1]

> Воспользоваться встроенными в Windows средствами синхронизации
> - например, создать в потоке мьютекс


А зачем мьютекс? Можно использовать хендл самого потока.

--
Regards, LVT.


 
begin...end ©   (2006-05-22 18:18) [4]

> Как проверить существует ли поток...

GetExitCodeThread



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

Форум: "Начинающим";
Текущий архив: 2006.06.11;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.011 c
2-1148327916
kester
2006-05-22 23:58
2006.06.11
Handle формы


2-1148563083
Piero
2006-05-25 17:18
2006.06.11
как работать с ini файлами?


15-1147857726
Cashmare
2006-05-17 13:22
2006.06.11
Учиться, учиться и учиться!


2-1148676758
ZV
2006-05-27 00:52
2006.06.11
SpinEdit


2-1148559378
Turbid
2006-05-25 16:16
2006.06.11
Кирилица в меню





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский