linux使用pthread_create实现 10 个子线程,并且让每个子线程打印自己的线程号
时间: 2023-08-12 11:03:49 浏览: 323
可以使用pthread_create函数在Linux系统中创建子线程,并通过线程ID打印出每个子线程的线程号。以下是一个示例代码:
```c
#include <stdio.h>
#include <pthread.h>
void* thread_func(void* arg) {
pthread_t tid = pthread_self(); // 获取当前线程ID
printf("Thread ID: %lu\n", tid);
pthread_exit(NULL);
}
int main() {
pthread_t threads[10];
for (int i = 0; i < 10; i++) {
pthread_create(&threads[i], NULL, thread_func, NULL);
}
// 等待所有子线程结束
for (int i = 0; i < 10; i++) {
pthread_join(threads[i], NULL);
}
return 0;
}
```
在上述代码中,我们定义了一个线程函数`thread_func`,该函数使用`pthread_self()`函数获取当前线程的ID,并通过`printf`函数打印出来。在`main`函数中,我们使用`pthread_create`函数创建了10个子线程,并使用`pthread_join`函数等待所有子线程结束。
编译并运行该代码,你会看到每个子线程打印出自己的线程号。
阅读全文