int pthread_equal(pthread_t threadId1, pthread_t threadId2)
1.0、参考
1.1、此函数的作用

比较两个线程是否是同一个线程。

1.2、参数说明

pthread_t的定义如下:

typedef unsigned long int pthread_t;

pthread_t thread线程ID

1.3、返回值说明

若相等,则返回非0

若不等,则返回0

1.4、使用示例
#include<stdio.h>
#include<pthread.h>

/* 线程要执行的函数 */
void* run(void *args) {
    printf("running start\n");

    for(int i = 1; i <= 100; i++) {
        printf("running %d\n", i);
    }

    printf("running end\n");
    return NULL;
}

int main() {
    pthread_t threadId;
    int rc = pthread_create(&threadId, NULL, run, NULL);
    if (0 == rc) {
        printf("create thread success\n");
        if (pthread_equal(threadId, pthread_self())) {
            printf("equal\n");
        } else {
            printf("not equal\n");
        }
        pthread_exit((void*)"main thread exit");
        return 0;
    } else {
        printf("create thread fail!\n");
        return 1;
    }
}

使用cc命令编译:

cc -lpthread -o test_pthread test.c