En Java:
Lock lock = new ReentrantLock();
try{
lock.lock();
someFunctionLikelyToCauseAnException();
}
catch(e){...}
finally {
lock.unlock();
}
Ma question est avec cet exemple ci-dessus, nous savons que le verrou sera toujours déverrouillé car finalement s'exécute toujours, mais quelle est la garantie avec C ++?
mutex m;
m.lock();
someFunctionLikelyToCauseAnException();
/// ????
Comment cela fonctionnera-t-il et pourquoi?