c语言 创建一个线程,该线程输出自己的线程ID
时间: 2024-09-21 08:00:33 浏览: 35
c语言多进程多线程编程
在 C 语言中,创建线程通常使用POSIX标准的`pthread`库。下面是一个简单的示例,展示了如何创建一个新线程并让它打印出当前线程的 ID:
```c
#include <stdio.h>
#include <pthread.h>
// 线程函数,将作为参数传递给 pthread_create()
void *thread_func(void *arg) {
pthread_t thread_id; // 存储当前线程ID的变量
pthread_getspecific(pthread_self); // 获取当前线程ID
printf("Current Thread ID: %lu\n", (unsigned long)pthread_self()); // 输出线程ID
return NULL;
}
int main() {
pthread_t my_thread; // 新建一个线程标识符
int rc;
// 创建一个新的线程并传入 thread_func 函数作为目标
rc = pthread_create(&my_thread, NULL, &thread_func, NULL);
if (rc != 0) {
perror("Error creating thread");
exit(1);
}
// 主线程执行其他操作...
// 这里为了简化例子,我们暂时不做其他事情
// 等待新创建的线程结束
pthread_join(my_thread, NULL);
return 0;
}
```
在这个示例中,`thread_func`是线程要执行的函数,它会获取并打印当前线程ID。`pthread_create`函数用于创建新线程,`pthread_join`用于等待线程完成。
阅读全文