【发布时间】:2015-12-10 21:10:27
【问题描述】:
我认为创建和删除线程可能代价高昂。 OpenMP 是否尝试重用现有线程?例如,
#pragma omp parallel sections num_threads(4)
{
#pragma omp section
{ ... worker A ... }
#pragma omp section
{ ... worker B ... }
}
#pragma omp parallel sections num_threads(4)
{
#pragma omp section
{ ... worker C ... }
#pragma omp section
{ ... worker D ... }
}
在执行中,OpenMP 是分配 5 个线程还是 3 个(其中 C 和 D 重用 A 和 B 使用的线程)?
【问题讨论】:
-
@CongMa:这不适用于单节。我发现在'single'里面,'parallel section'只按顺序运行。
标签: c multithreading parallel-processing openmp