Mr.*_*Boy 0 c++ multithreading stl c++11
使用std::thread运行它运行一个无限循环,是有办法,如果线程被要求参加环可以查询的方法......还是我必须手动添加一个"了ExitThread"标志?
换句话说,isJoined看起来像什么(未经测试的伪代码):
std::atomic<int> global_counter (0);
void Run()
{
while(!isJoined())
{
doSomething();
++global_counter;
}
}
int main()
{
thread t(Run);
Sleep(10000);
t.join();
cout << "Iterated " << global_counter << "times" << endl;
}
Run Code Online (Sandbox Code Playgroud)
你要做的不仅是加入线程,还要发送消息.这两件事是不同的,你需要做两件事.
要向线程发送消息,请使用条件变量发出信号.既然你知道你需要的东西的名字,你可以谷歌,你会发现大量的好教程解释如何使用这个概念发信号,所以我觉得没有必要在这里详细说明.
| 归档时间: |
|
| 查看次数: |
483 次 |
| 最近记录: |