逐一回答问题,但不一定按照相同的顺序:
pthread_t是不是类似于int或char的数据类型,说明我们在定义一个线程?编译器是在这句话之后立即为pthread_t thread1 分配内存还是等到找到pthread_create() 调用
pthread_t 是一种类似于int 的类型,它是在您定义它时创建的,而不是在您调用pthread_create 时创建的。在sn-p中:
pthread_t tid;
int x = pthread_create (&tid, blah, blah, blah);
它是创建变量的 first 行,尽管它在从 pthread_create 返回之前没有任何用处。
pthread_t 占用多少大小,2 字节还是 4 字节?
您不应该关心它占用了多少空间,就像您应该关心FILE 结构占用了多少空间一样。您应该按预期使用结构。如果你真的想知道,那么sizeof 就是你的朋友。
有关如何设置线程属性的任何有用信息?
如果你想使用默认属性以外的任何东西,你必须先创建一个属性变量,然后将它传递给pthread_create调用。
我们可以只将pthread_create 函数中的一个参数传递给函数吗?我们不能在pthread_create()函数中向被调用线程发送2或3个参数吗?
虽然您只能向线程传递 一个 额外参数,但没有什么能阻止您将这个参数设置为指向包含一百种不同事物的结构的指针。
如果您正在寻找有关如何使用 pthread 的信息,可以在 Google 搜索的末尾找到很多东西,但我自己仍然更喜欢死树版本: