面试官要求用c++写一个死锁的程序。 目前想到两种简单的写法,一种是单线程对一个资源重复申请上锁;第二种是两个线程对两个资源申请上锁,形成环路。 实现1 #include <iostream> #include <thread> #include <mutex> #include <unistd.h> using namespace std; int data = 1; mutex mt1,mt2; void a2() { data = data * data; mt1.lock(); //第二次申请对mt1上锁,但是上不上去 cout<<data<<endl; mt1.unlock(