Форум: "Начинающим";
Текущий архив: 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