多線程的通訊-線程屬性

這裏僅僅結束線程屬性的初始化,線程屬性都有哪些成員及其初值,重點介紹detachstate成員線程

使用pthread_attr_init來初始化線程屬性進程

#include <pthread.h>資源

int pthread_attr_destroy(pthread_attr_t *attr);
int pthread_attr_init(pthread_attr_t *attr);

線程屬性初始值:
get

scope                         PTHREAD_SCOPE_PROCESS      新線程與其餘進程中的線程發生競爭it

detachstate               PTHREAD_CREATE_JOINABLE     線程能夠被其餘線程等待thread

stackaddr                  NULL                                         新線程具備系統分配的棧地址scope

stacksize                    0                                               新線程具備系統定義的棧大小co

….join

#include <pthread.h>系統

int pthread_attr_getdetachstate(const pthread_attr_t *attr,int *detachstate);

起合法值包括

1 PTHREAD_CREATE_DETACHED: 此選項是的使用attr建立的全部關聯線程處於分離狀態。線程終止時候,系統將自動回收與線程有關的資源,不能被其餘線程等待

2 PTHREAD_CREATE_JOINABLE:此選項是的建立的線程處於可鏈接的狀態,線程終止時系統不會回收線程資源,要用pthread_join()回收

相關文章
相關標籤/搜索