mutex m;
char i;
thread t([&m,&i]()
{
for(;true;m.unlock())
{
m.lock();
cout<<"输入:";
cin>>i;
if(i=='t')
cout<<"线程"<<i<<"执行中"<<endl;
}
}),u([&m,&i]()
{
for(;true;m.unlock())
{
m.lock();
cout<<"输入:";
cin>>i;
if(i=='u')
cout<<"线程"<<i<<"执行中"<<endl;
}
}),v([&m,&i]()
{
for(;true;m.unlock())
{
m.lock();
cout<<"输入:";
cin>>i;
if(i=='v')
cout<<"线程"<<i<<"执行中"<<endl;
}
});
v.join();//试过了交换join顺序也没用
u.join();
t.join();
执行结果为什么只有一个线程正常,而且不管有多少个线程总是最后一个定义的才能正常输出