Здравствуйте, greenloki, Вы писали:
G>w2k+ G>Интересует внутрипроцессная синхронизация между большим количеством потоков читателей и 1-2 редкими потоками писателями, но не между читателями. То есть потоки читатели не должны блокировать друг друга, блокировка читателей возможна только при записи, блокировка писателей возможна при чтении. Я так представляю будут использоваться критические секции или семафоры (мне всё равно, но желательно более быстрый способ для читателей), плюс возможно также класс хелпер. Подскажите хоть идею, можно в псевдокоде. (что-нибудь простое, я синхронизирую доступ к обычному std::vector)
Ну событиями можно — надо только одно событие записи. Т.е. примерно это выглядит так: читатель ждет освобождения события записи, потом читает, писатель также ждет освобождения собития записи (чтобы не перетереть других писателей), после этого сразу занимает событие записи — пишет, осбождает событие.