【发布时间】:2021-12-04 22:22:23
【问题描述】:
所以我用以下方式创建多个线程:
std::thread Thread1(func1); Thread1.detach();
std::thread Thread2(func2); Thread2.detach();
我这样做了大约 10 次,效果很好,但是 它看起来很丑,有什么方法可以让它更干净吗?谢谢!
【问题讨论】:
-
只做一个循环?
-
您不需要为每个线程变量命名。
std::thread(func1).detach();也可以。我这么干净吗? -
@IgorTandetnik 是的,我知道这一点。但我更多地谈论的是减少线路
-
for (auto f : {func1, func2}) std::thread(f).detach(); -
detach()通常是一个错误。它使您无法控制和尴尬的同步问题。
标签: c++ multithreading