我需要为每个线程设置t
静态,我该怎么做?我尝试了这个,但t
并非每个线程都是静态的。
#pragma omp Parallel
{
traceRays();
}
...
...
void traceRays()
{
static float t = 1;
}
答案 0 :(得分:1)
如果静态变量未在并行区域中声明,那么每次尝试在并行区域中定义时都使用:#omp parallel private(t)
答案 1 :(得分:0)
您只需制作t
threadprivate:
void traceRays()
{
static float t = 1;
#pragma omp threadprivate(t)
}