pthread attr t 執行緒屬性 二

2022-03-25 10:28:16 字數 2142 閱讀 8470

一.函式:

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,表示新執...