多线程的输出

xiaoxiao2021-02-28  123

#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<<"请输入执行的次数:";

    cin>>loop;          thread A(Fun,0);     thread B(Fun,1);     thread C(Fun,2);     Fun(3);          A.join();     B.join();     C.join();          system("pause");      }
转载请注明原文地址: https://www.6miu.com/read-60292.html

最新回复(0)