C++ (Qt)try { QMutexLocker locker(&mutex); ...}catch (...) { // деструктор ~QMutexLocker выполнился, // мутекс был освобожден, и, возможно, уже опять захвачен др. ниткой // если это нежелательно - вынести определение locker за блок try}
try{ QMutex mutex; mutex.lock(); .... mutex.unlock();}catch(...){ ....... .......}
C++ (Qt)try{ QMutex mutex; mutex.lock(); ... x=1/x; ... mutex.unlock();}catch(...){ ....... .......}
C++ (Qt)QMutex mutex;try{y=1/y; mutex.lock(); ... x=1/x; ... mutex.unlock();}catch(...){ // Если y==0, то mutex незалочен. // Если y!=0, а x==0, то mutex залочен. // Что делать? ....... .......}
C++ (Qt)QMutexLocker locker( mutex );Q_UNUSED(locker)
C++ (Qt)try{ QMutex mutex;}
C++ (Qt)try{ static QMutex mutex;}