Я беру некоторые предположения о вашем контексте и желаемом поведении, но я думаю, что вы хотите, чтобы все выглядело так:
T1:
1. lock mutex
2.проверить переменную
3. разблокировать мьютекс
4. дождаться условной переменной
5. перейти к 1
T2:
1. заблокировать мьютекс
2. изменить переменную
3. разблокировать мьютекс
4. переменная условия сигнала
Мьютекс предназначен для защиты доступа к переменной, чтобы у вас не было разных потоков, считывающих и записывающих все одновременно.
Переменная условия используется для синхронизации потоков, чтобы вы могли контролировать порядок, в котором все происходит.