Синхронизация нескольких потоков
От: _spin_ Россия  
Дата: 02.11.05 16:56
Оценка:
Как сделать синхронизацию действий потоков?

Есть несколько потоков, один из которых отслеживает изменения в каталоге и его подкаталогах, а остальные обрабатывают файлы из подкаталогов. Необходимо сделать так, чтобы при изменении структуры каталогов отслеживающий поток оповещал об этом все остальные.

Пока идея такая:
в отслеживающем потоке (ОП) создать и захватить мьютекс; в остальных потоках проверять мьютекс на занятость (WaitForSingleObject с нулевым временем ожидания); при изменении структуры ОП освобождает мьютекс, другие потоки синхронизируют стуктуру каталогов с ОП, после чего ОП вновь захватывает мьютекс.

Есть другие варианты?
... <<#1 — 03 The Maxwell L'homme en peluche>>
Не восхрапи на работе, ибо храпом своим разбудишь начальника своего.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.