0
我需要使每个线程静态t
,我该怎么做?我试过这个,但是t
对每个线程都不是静态的。使用openmp制作一个变量静态私有的每个线程
#pragma omp Parallel
{
traceRays();
}
...
...
void traceRays()
{
static float t = 1;
}
我需要使每个线程静态t
,我该怎么做?我试过这个,但是t
对每个线程都不是静态的。使用openmp制作一个变量静态私有的每个线程
#pragma omp Parallel
{
traceRays();
}
...
...
void traceRays()
{
static float t = 1;
}
如果静态变量不是在并行区域声明,那么每当你尝试在并行区域使用来定义:#omp平行私人(T)
您可以通过只是让t
做threadprivate:
void traceRays()
{
static float t = 1;
#pragma omp threadprivate(t)
}