编写一个 openMP 的程序,实现每一个线程都打印出自己的线程号,总的线程数,以及"hello,world"。
时间: 2024-02-11 17:09:49 浏览: 209
OpenMP 多线程程序设计
4星 · 用户满意度95%
以下是一个使用OpenMP并行化的打印线程信息的程序:
```c
#include <stdio.h>
#include <omp.h>
int main() {
int num_threads = 4;
#pragma omp parallel num_threads(num_threads)
{
int tid = omp_get_thread_num();
int nthreads = omp_get_num_threads();
printf("Thread %d of %d says: Hello, world!\n", tid, nthreads);
}
return 0;
}
```
程序中使用了OpenMP的并行机制,将打印线程信息的代码放在`parallel`指令中,`num_threads`指定了使用的线程数,`omp_get_thread_num()`用来获取当前线程的线程号,`omp_get_num_threads()`用来获取总的线程数。最后每个线程都会打印出自己的线程号,总的线程数以及"Hello, world!"。
阅读全文