一.函式:
1.執行緒屬性的初始化與銷毀:
#include
int pthread_attr_init(pthread_attr_t *attr);
int pthread_attr_destroy(pthread_attr_t *attr);
both return: 0 if ok, error number on failure
2.設定執行緒屬性--detackstate(分離狀態):
#include
int pthread_attr_getdetachstate(const pthread_attr_t *restrict attr, int *detachstate);
int pthread_attr_setdetachstate(pthread_attr_t *attr, int detachstate);
both return: 0 if ok, error number on failure
detachstate有兩個選項:pthread_create_detached 分離狀態啟動執行緒
pthread_create_joinable 正常狀態啟動執行緒
3.設定執行緒屬性--stackaddr(執行緒棧的最低位址),stacksize(執行緒棧的大小):
#include
int pthread_attr_getstack(const pthread_attr_t *restrict attr,
void **restrict stackaddr,
size_t *restrict stacksize);
int pthread_attr_setstack(const pthread_attr_t *attr,
void *stackaddr,
size_t *stacksize);
both return: 0 if ok, error number on failure
4.設定執行緒屬性--stacksize(執行緒棧的大小):
#include
int pthread_attr_getstacksize(const pthread_attr_t *restrict attr,
size_t *restrict stacksize);
int pthread_attr_setstacksize(pthread_attr_t *attr,
size_t stacksize);
both return: 0 if ok, error number on failure
5.設定執行緒屬性--guardsize(執行緒棧末尾的警戒緩衝區大小)
#include
int pthread_attr_getguardsize(const pthread_attr_t *restrict attr,
size_t *restrict guardsize);
int pthread_attr_setguardsize(pthread_attr_t *attr,
size_t guardsize);
both return: 0 if ok, error number on failure
二.重點:
三.例子:
以分離狀態建立執行緒
[cpp]view plain
copy
#include
#include
#include
void * thr_fn()
int main()
pthread_attr_destroy(&attr);
sleep(1);
return 0;
} 執行:
root@ubuntu1:~/12# ./a.out
thread run
pthread attr t 執行緒屬性
posix執行緒中的執行緒屬性pthread attr t 屬性主要包括scope屬性 detach屬性 堆疊位址 堆疊大小 優先順序。在pthread create函式中第二個引數設定為null的時候,將採用預設屬性設定 執行緒屬性如下 typedef struct pthread attr t ...
執行緒屬性pthread attr t簡介
posix執行緒中的執行緒屬性pthread attr t主要包括scope屬性 detach屬性 堆疊位址 堆疊大小 優先順序。在pthread create中,把第二個引數設定為null的話,將採用預設的屬性配置。pthread attr t的主要屬性的意義如下 detachstate 表示新執...
執行緒屬性pthread attr t簡介
posix執行緒中的執行緒屬性pthread attr t主要包括scope屬性 detach屬性 堆疊位址 堆疊大小 優先順序。在pthread create中,把第二個引數設定為null的話,將採用預設的屬性配置。pthread attr t的主要屬性的意義如下 schedpolicy,表示新執...