#include <iostream>
#include <windows.h>
#include<mutex>
#include<thread>
#include<condition_variable>
using namespace std;
condition_variable cond;
mutex ml;
int loop;
int flag=0;
void Fun(int id)
{
for(int i=0;i<loop;i++)
{
unique_lock<mutex> lk(ml);
while(flag!=id)
cond.wait(lk);
cout<<static_cast<char>('A'+id);
flag=(flag+1)%4;
cond.notify_all();
}
}
int main()
{
cout<<"请输入执行的次数:";
thread A(Fun,0);
thread B(Fun,1);
thread C(Fun,2);
Fun(3);
A.join();
B.join();
C.join();
system("pause");
}