Почему С++ 0x стандартный комитет отклонил boost:: shared_mutex?

Есть ли у вас информация о предмете? любая проблема с boost:: shared_mutex в частности и с мьютексами для чтения-записи вообще?

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

Ответы

Ответ 1

Энтони Уильямс является влиятельным членом комитета стандартов С++. Он был соавтором многих предложений, которые привели к включению библиотеки потоков в стандарт С++ 11. Вы можете прочитать его возражения в этот комментарий. Тем не менее, он сделал это на С++ 17.

Ответ 2

Как сказано в почте, на которое ссылается Ганс, проблема с shared_mutex - это его высокие накладные расходы. Поэтому shared_mutex дает только преимущество, когда ресурсы хранятся в течение длительного времени, и только несколько потоков конкурируют за ресурсы, что очень редко.

Я нашел еще одну подробную статью о проблеме.