After watching Herb Sutter's talk [You Don't Know const and mutable](http://isocpp.org/blog/2012/12/you-dont-know-const-and-mutable-herb-sutter), I wonder whether I should always define a mutex as mutable? If yes, I guess the same holds for any synchronized container (e.g., `tbb::concurrent_queue`)?

Some background: In his talk, he stated that const == mutable == thread-safe, and `std::mutex` is per definition thread-safe.

There is also related question about the talk, [Does const mean thread-safe in C++11](https://stackoverflow.com/questions/14127379/does-const-mean-thread-safe-in-c11).

Edit:

[Here](https://stackoverflow.com/questions/4127333/should-mutexes-be-mutable?rq=1), I found a related question (possibly a duplicate). It was asked before C++11, though. Maybe that makes a difference.