Интересно, являются ли функции размера (размер, длина или что-то еще) потокобезопасными? Насколько я понимаю, обычно просто возвращают какой-нибудь член приватного размера. Я действительно сомневаюсь, что они делают какие-либо вычисления. Все они помечены как const, но являются ли они потокобезопасными? например std :: list :: size ?
У меня есть функция с защитой от блокировки для записи, а другая для чтения (также с защитой от блокировки), но мне интересно, мой ли счетчик функция также должна быть защищена от блокировки? ИМО, это выглядит пустой тратой времени отклика. Я не думаю, что это может сломать какие-либо итераторы или потерпеть неудачу, если какой-то член будет удален из списка одновременно (насколько это возможно).