在 Linux 中,您可以使用 pthread_self()
函数来获取当前线程的线程 ID
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
void* print_thread_id(void* arg) {
pthread_t thread_id = pthread_self();
printf("当前线程 ID: %lu\n", (unsigned long)thread_id);
return NULL;
}
int main() {
pthread_t threads[5];
int rc;
for (int i = 0; i < 5; ++i) {
rc = pthread_create(&threads[i], NULL, print_thread_id, NULL);
if (rc != 0) {
perror("创建线程失败");
exit(EXIT_FAILURE);
}
}
for (int i = 0; i < 5; ++i) {
pthread_join(threads[i], NULL);
}
return 0;
}
在这个示例中,我们创建了 5 个线程,每个线程都调用 print_thread_id
函数。在该函数中,我们使用 pthread_self()
获取当前线程的 ID,并将其打印出来。