Интересно, являются ли функции размера (размер, длина или что-то еще) потокобезопасными? Как я понимаю, они обычно просто возвращают часть частного размера. Я действительно сомневаюсь, что они делают какие-то расчеты. Все они отмечены как const, но они потокобезопасны? например std :: list :: размер?функции размера и безопасность потока в C++
У меня есть функция защиты от блокировки для записи и другая для чтения (также защищена от блокировки), но мне интересно, должна ли моя функция быть заблокирована? ИМО, это выглядит пустой тратой времени отклика. Я не думаю, что он может сломать любые итераторы или потерпеть неудачу, если какой-то член удаляется из списка одновременно (насколько это возможно).
'счет' * есть * считывание. Если вы заблокируете другие операции чтения, почему бы вам не заблокировать «count»? Что делает его особенным? –