小编twn*_*004的帖子

当我尝试递归锁定互斥体时,没有发生死锁

为什么下面的代码不会死锁。

我尝试用cpp构造死锁情况,但是为什么下面的代码没有死锁

#include <iostream>
#include <memory>
#include <mutex>
#include <thread>

class Request {

public:
  void process() {
    std::lock_guard<std::mutex> lock(mutex_);
    print();
  }

  void print() {
    std::lock_guard<std::mutex> lock(mutex_);
    std::cout << "108392" << std::endl;
  }

private:
  std::mutex mutex_;
};

int main() {
  Request req;
  req.process();
}
Run Code Online (Sandbox Code Playgroud)

我希望我的代码陷入僵局

c++ mutex deadlock std

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

标签 统计

c++ ×1

deadlock ×1

mutex ×1

std ×1