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 次 |
| 最近记录: |