Nik*_*tke 7 c++ multithreading c++11
(如何)我可以像这样启动多个线程:
for (i = 0; i < 10; i++) {
   std::thread (myfunction, i, param2, param3);
}
Run Code Online (Sandbox Code Playgroud)
没有加入?
Snp*_*nps 12
试试这个
for (int i = 0; i < 10; ++i) {
    std::thread{myfunction, i, param2, param3}.detach();
}
Run Code Online (Sandbox Code Playgroud)
或者如果您想稍后加入线程,那么将它们放入std::vector.
std::vector<std::thread> v;
for (int i = 0; i < 10; ++i) {
    v.emplace_back(myfunction, i, param2, param3);
}
// Do something else...
for (auto& t : v) {
    t.join();
}
Run Code Online (Sandbox Code Playgroud)
        只是不要打电话join(),detach()而是。
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           9702 次  |  
        
|   最近记录:  |