Все работает, но вот есть такая неправильность:
при установке params->bStop в FALSE в основном потоке работчий поток завершается и освобождает ресурсы только после того, как произойдут какие-нидудь изменения в params->szFolder, а этого может и не случиться до завершение программы Как мне более правильно организовать мониторинг директории в отдельном потоке?
Здравствуйте, Аноним, Вы писали:
А>Все работает, но вот есть такая неправильность: А>при установке params->bStop в FALSE в основном потоке работчий поток завершается и освобождает ресурсы только после того, как произойдут какие-нидудь изменения в params->szFolder, а этого может и не случиться до завершение программы Как мне более правильно организовать мониторинг директории в отдельном потоке?
Использовать WaitForMultipleObjects и дополнительное событие "конец работы".
Делай что должно, и будь что будет
Re[2]: Освобождение ресурсов в потоке
От:
Аноним
Дата:
26.03.03 16:42
Оценка:
Здравствуйте, SergH, Вы писали:
SH>Здравствуйте, Аноним, Вы писали:
А>>Все работает, но вот есть такая неправильность: А>>при установке params->bStop в FALSE в основном потоке работчий поток завершается и освобождает ресурсы только после того, как произойдут какие-нидудь изменения в params->szFolder, а этого может и не случиться до завершение программы Как мне более правильно организовать мониторинг директории в отдельном потоке?
SH>Использовать WaitForMultipleObjects и дополнительное событие "конец работы".
Да, но тогда это событие придется делать глобальным, что не очень хочется
Здравствуйте, SergH, Вы писали:
SH>Здравствуйте, Аноним, Вы писали:
А>>Да, но тогда это событие придется делать глобальным, что не очень хочется
SH>А почему нельзя передавать так же, в параметре?
В смысле вместо bStop сделать hStop и ждать на нём.
А>Все работает, но вот есть такая неправильность: А>при установке params->bStop в FALSE в основном потоке работчий поток завершается и освобождает ресурсы только после того, как произойдут какие-нидудь изменения в params->szFolder, а этого может и не случиться до завершение программы Как мне более правильно организовать мониторинг директории в отдельном потоке?здесь
Для корректного завершения потока мониторинга дериктории в рабочем потоке создайте событие и воспользуйтесь ф-ей WaitForMultipleObjects(), в которую передайте хэнделы события и отслеживаемой директории....
при необходимости в рабочем потоке сбрасывайте событие и соответствующим образом обрабатывайте результат WaitForMultipleObjects...
удачи!