почему C ++ 0x стандартный комитет отклонил повышение :: shared_mutex? - PullRequest
14 голосов
/ 11 января 2011

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

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

Ответы [ 2 ]

12 голосов
/ 12 января 2011

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

10 голосов
/ 27 ноября 2012

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...