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