Re[3]: Windows CE Threads
От: Pavel Dvorkin Россия  
Дата: 01.06.09 13:07
Оценка:
Здравствуйте, AntonGr, Вы писали:

А>>ждать каждый по очереди


AG>Делать WaitForSingleObject для каждого потока? А если завершаться они могут не в порядке запуска?


Ничего страшного, хотя, конечно, я такое никогда не делал

WaitForSingleObject(hThread1,INFINITE);
WaitForSingleObject(hThread2,INFINITE);

Если Thread1 закончится раньше — пройдем первый Wait и будем ждать на втором. Если позже — будем ждать на первом, а дождавшись, тут же пройдем и второй. Хэндлы-то не закрыты, так что потоку в signaled состоянии деваться некуда. А обратно в non-signaled он перейти не может.

Неприятности возможны, когда синхрообъекты повторно используются (ивенты или семафоры). Тут разница между N WaitForSingle и одним WaitForMultiple может всю обедню испортить. Но к потокам это не относится.
With best regards
Pavel Dvorkin
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.