There is a simple rule to it:Q: Is it necessary to protect privateMember with mutexes in the above case [as in a lock()/unlock() pair in run() and a QMutexLocker in getPrivateMember()] ?
If the variable can be accessed by at least two threads at the same time, it has to be guarded by a mutex, or semaphore or similar mutual exclusion mechanism.
This has nothing to do with variable access privileges (public/protected/private).
Bookmarks