编写一个c程序,在主线程中创建4个新线程,所有线程都输出自己的线程号
时间: 2023-12-29 10:13:33 浏览: 75
创建多线程
好的,下面是代码:
```c
#include <stdio.h>
#include <pthread.h>
void *print_thread_id(void *arg) {
printf("Thread ID: %ld\n", (long)arg);
pthread_exit(NULL);
}
int main() {
pthread_t threads[4];
int i;
for (i = 0; i < 4; i++) {
if (pthread_create(&threads[i], NULL, print_thread_id, (void *)i) != 0) {
fprintf(stderr, "Error creating thread\n");
return -1;
}
}
for (i = 0; i < 4; i++) {
if (pthread_join(threads[i], NULL) != 0) {
fprintf(stderr, "Error joining thread\n");
return -1;
}
}
return 0;
}
```
这个程序创建了4个新线程,每个线程都输出自己的线程号。在主线程中,我们使用 `pthread_create()` 函数创建新线程,然后使用 `pthread_join()` 函数等待所有线程结束。
阅读全文