小编Bri*_*dia的帖子

尝试使用C++中的锁定捕获

在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)

这将如何工作?为什么?

c++ multithreading operating-system locking

38
推荐指数
2
解决办法
3771
查看次数

什么是新手的原子操作?

我是操作系统的新手,在Stackoverflow上找到的每个答案都很复杂,以至于我无法理解。有人可以解释什么是

原子操作

对于新手?

我的理解:我的理解是atomic operation意味着它可以完全执行而不会中断吗?即,这是没有中断范围的阻塞操作?

concurrency multithreading synchronization operating-system atomic

4
推荐指数
1
解决办法
1887
查看次数