线程取消属性
函数原型如下:
#include <pthread.h>
int pthread_setcancelstate(int state, int * oldstate);
int pthread_setcanceltype(int type, int * oldtype);
void pthread_testcancel(void);
pthread_setcancelstate
用来设置当前线程的可取消性状态,state
的值为PTHREAD_CANCEL_ENABLE
和PTHREAD_CANCEL_DISABLE
,同时,将原来的属性放于oldstate
中.
默认值为 PTHREAD_CANCEL_ENABLE
.
pthread_setcanceltype
函数用来设置当前线程的可取消类型,并将旧的取消类型放于oldtype
中.
type
的值为
PTHREAD_CANCEL_DEFERRED
线程 收到取消操作后,直到运行到可取消点后取消
PTHREAD_CANCEL_ASYNCHRONOUS
线程收到取消操作后,立即取消
默认值为 PTHREAD_CANCEL_DEFERRED
.
pthread_testcancel
函数用于在当前线程中创建一个可取消点.
线程栈相关
#include <pthread.h>
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);
pthread_attr_getstacksize
用来获取当前线程栈的大小
pthread_attr_setstacisize
用来设置当前线程栈的大小
网友评论