Re[8]: Потоки в ДЛЛ, когда надо их прибивать?
От: Alglib Россия  
Дата: 25.03.03 12:06
Оценка:
Основное условие задачи "нельзя менять основное приложение" если бы было можно, вопросов бы не было,

ИВ>Главное окно создается, и при этом создается объект ядра "event" в несигнальном состоянии.


главное окно создается в основном приложении. выставлять там event я не могу.

ИВ>

ИВ>Далее всем порождаемым потокам передается его хэндл, на котором они (потоки) периодически должны делать WaitForSingleObject() с нулевым таймаутом. Если объект в несигнальном состоянии ("можно работать"), то она вернет WAIT_TIMEOUT, если же в потоке главного окна произошло "нечто" (SetEvent(hStopEvent)), в результате чего событие установлено в сигнальное состояние, то Wait-функция вернет WAIT_OBJECT_0, что значит "событие установлено, бросай все, щас будут убивать".


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


ну не могу я главное приложение менять.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.