在C 多线程应用程序中,设置了并发线程的最大数量
In a c++ multithread application set the max number of concurrent thread
i在Windows环境中工作(Visual Studio 2019(。我想创建一个必须执行多次的C 应用程序:假设10000次。我想使用多个线程和Coursem实现此目标,我想限制并发线程的数量,例如20。换句话说,我想做的是在C#应用程序中可以轻松地使用并行指令进行操作:
public class Program
{
private static void Main(string[] args)
{
ParallelOptions opt = new ParallelOptions();
opt.MaxDegreeOfParallelism = 20;
Parallel.For(0, 10000, opt, i =>
{
// Do the task
});
}
}
C 版本可能看起来像这样:
std::vector<workpackage> workpackages;
std::for_each(std::execution::par, workpackages.begin(), workpackages.end(), [](auto& wp) {
// work with workpackage "wp" here
});
...但是您无法决定使用多少个线程。如果您想要更多的控件,则可以使用std::thread
进行人工创建线程,只计算您运行的数量。
相关文章:
- 并发/多线程:是否可以以这种方式生成相同的输出?
- 琐碎并发代码的吞吐量不会随着线程数量的增加而增加
- 由并发无序映射查找线程调用的函数是否安全?
- 如何在 qt 中从另一个线程运行 qt并发时关闭程序
- 并发问题:如何只有一个线程通过关键部分
- 在iOS设备上执行并发任务时如何设置正确的线程数?
- 在C 多线程应用程序中,设置了并发线程的最大数量
- std ::线程最大并发线程
- 根据硬件并发性将任务平均划分为线程
- C++ 并发队列:速度较慢,> 1 个线程
- 并发线程中的 C++ 类对象
- 从 std::d eque 线程对 emplace_back() 和运算符 []() 的并发调用是否安全?
- Windows7内存管理 - 如何防止并发线程阻止
- 在没有"线程管理"的情况下C++设置并发哈希表/哈希?
- 读取另一个线程中并发运行的 pthread 的本地数据
- C++多线程使用并发变量停止线程
- 管理多个并发线程
- C++ 操作 9.6 线程池中的并发使用thread_local
- c++映射两个线程并发的插入和读取
- Linux中的STL容器和线程(并发写)