温馨提示×

linux pthread如何获取线程id

小樊
81
2024-12-29 03:18:12
栏目: 智能运维

在 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,并将其打印出来。

0