- 首页 > it技术 > >
#include
#include
#include
#include
#include
#include #define THRNUM 4
static int num=0;
std::mutex m;
std::condition_variable cond;
using namespace std;
int next(int n)
{
if(n +1 ==THRNUM)
return 0;
return n+1;
}void fun(int i)
{while(1)
{
std::unique_lock lk(m);
while(num != i)
cond.wait(lk,
[=]{return num != i ?false :true;
});
int c = 'A'+num;
write(1,&c,1);
num = next(num);
lk.unlock();
cond.notify_all();
}}int main(int argc, char *argv[])
{
std::thread t[4];
for(int i = 0;
i
推荐阅读