У меня есть класс, который доступен из нескольких потоков. Обе его функции получения и установки защищены замками.
Действительно ли нужны блокировки для функций получения? Если так, почему?
class foo {
public:
void setCount (int count) {
boost::lock_guard<boost::mutex> lg(mutex_);
count_ = count;
}
int count () {
boost::lock_guard<boost::mutex> lg(mutex_); // mutex needed?
return count_;
}
private:
boost::mutex mutex_;
int count_;
};