C++ コンパイラがローカル変数を処理する方法を理解していれば、静的変数がスタックに配置されるIsShutdownInProgress()
ため、ロックは必要ありません。shutdownInProgress
私は正しいですか?
class MyClass
{
private:
// Irrelevant code commented away
static pthread_mutex_t mutex;
static bool shutdownInProgress;
public:
static void ShutdownIsInProgress()
{
pthread_mutex_lock(mutex);
shutdownInProgress = true;
pthread_mutex_unlock(mutex);
}
static bool IsShutdownInProgress()
{
// pthread_mutex_lock(mutex);
// pthread_mutex_unlock(mutex);
return shutdownInProgress;
}
}