循环中有多少个线程

时间:2014-03-24 17:37:01

标签: c windows multithreading

如果我创建一个循环

for(int i=0;i<n;i++){//do something}

并通过Visual Studio运行,我的程序会为每次迭代创建一个线程,整个循环,还是一个变量号?

1 个答案:

答案 0 :(得分:3)

  

并通过Visual Studio运行,我的程序会为每次迭代创建一个线程,整个循环,还是一个变量号?

以上都不是。默认情况下,您的程序只有一个执行线程,它将按顺序执行循环的每次迭代,而不会创建新的。

只有使用像OpenMP(或类似)这样的功能才能在每次迭代中生成不同的线程。

#include <omp.h>

#pragma omp parallel for
for(int n=0; n<10; ++n) { printf(" %d", n); }
printf(".\n");