在Java中:
Lock lock = new ReentrantLock();
try{
lock.lock();
someFunctionLikelyToCauseAnException();
}
catch(e){...}
finally {
lock.unlock();
}
Run Code Online (Sandbox Code Playgroud)
我的问题是上面这个例子我们知道锁总是会被解锁,因为最终总是执行,但是C++的保证是什么?
mutex m;
m.lock();
someFunctionLikelyToCauseAnException();
/// ????
Run Code Online (Sandbox Code Playgroud)
这将如何工作?为什么?
我是操作系统的新手,在Stackoverflow上找到的每个答案都很复杂,以至于我无法理解。有人可以解释什么是
原子操作
对于新手?
我的理解:我的理解是atomic operation意味着它可以完全执行而不会中断吗?即,这是没有中断范围的阻塞操作?
concurrency multithreading synchronization operating-system atomic