Печально.. Как бы так реализовать "волшебный" мютекс...
read_lock - блокирует объект на чтение (в первом приближении счетчик) read_unlock -
write_lock - ждет когда отработают все read_lock'и (счетчик 0 ) и блокирует объект вообще на все. write_unlock
где бы почитать про примеры реализации таких объектов синхронизации на основе стандартного набора (mutex, semaphor,...)?
|