码迷,mamicode.com
首页 > 编程语言 > 详细

线程属性API

时间:2017-08-22 17:32:39      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:数据   检查   des   离线   默认值   color   初始化   code   set   

数据类型:pthread_attr_t

操作API:

// 初始化线程属性
int pthread_attr_init(pthread_attr_t *attr);// 初始化为系统支持的所有属性的默认值
// 销毁线程属性
int pthread_attr_destroy(pthread_attr_t *attr);// 回收初始化时给此属性分配的资源
// 设置分离线程属性(分离线程终止时由系统回收线程资源,而一般线程需要pthread_join(pthread_t)函数来回收资源)
int pthread_attr_setdetachstate(pthread_attr_t *attr, int detachstate);
    detachstate可取两个值:
                        1:默认是PTHREAD_CREATE_JOINABLE,不特意设置线程属性时默认是它
                        2:PTHREAD_CREATE_DETACHED(线程分离)
// 获得分离属性
int pthread_attr_getdetachstate(pthread_attr_t *attr, int *detachstate);
例:设置分离属性的线程
    int makedetachpthread(void *(*fn)(void *), void *arg)
    {
        int             err;
        pthread_t         tid;
        pthread_attr_t  attr;
        err = pthread_attr_init(&attr);
        if(err != 0){
            return err;
        }
        err = pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
        if(err == 0)
            pthread_create(&tid, &attr, fn, arg);
        pthread_attr_destroy(&attr);// 这里对destroy的返回值没有检查,默认是能够正确回收attr的资源
        return err;
    }

 

线程属性API

标签:数据   检查   des   离线   默认值   color   初始化   code   set   

原文地址:http://www.cnblogs.com/Flychown/p/7412494.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!