Как сделать синхронизацию действий потоков?
Есть несколько потоков, один из которых отслеживает изменения в каталоге и его подкаталогах, а остальные обрабатывают файлы из подкаталогов. Необходимо сделать так, чтобы при изменении структуры каталогов отслеживающий поток оповещал об этом все остальные.
Пока идея такая:
в отслеживающем потоке (ОП) создать и захватить мьютекс; в остальных потоках проверять мьютекс на занятость (WaitForSingleObject с нулевым временем ожидания); при изменении структуры ОП освобождает мьютекс, другие потоки синхронизируют стуктуру каталогов с ОП, после чего ОП вновь захватывает мьютекс.
Есть другие варианты?
... <<#1 — 03 The Maxwell L'homme en peluche>>