我如何在 C 中显示线程的属性?

How do i display the attributes of a thread in C?

由于pthread_t是一个结构体,我想我可以直接获取属性。检查此页面并看到线程属性的名称(detachedstate、schedparam 等)所以我这样尝试:

pthread_t t1;

void routine() {
    printf(t1.inheritsched);
}

int main(int argc, char **argv) {    
    pthread_create(&t1, NULL, &routine, NULL);
    pthread_join(t1, NULL);
    return 0;
}

但是我得到一个错误,基本上说 pthread_t 不是一个结构,这让我很惊讶。

到底发生了什么,我如何显示线程的属性?

specification says:

Upon successful completion, pthread_create() shall store the ID of the created thread in the location referenced by thread.

因此我们知道pthread_t只是线程的ID,确切的类型是not stated in the specification