首页 > 其他 > 详细

AUPE学习第十二章------线程控制

时间:2014-02-22 07:49:47      阅读:337      评论:0      收藏:0      [点我收藏+]

本章讨论同一进程中的多个线程之间如何保持数据的私有性,最后讨论基于进程的系统调用如何与线程进行交互。

可以通过sysconfig函数来得到系统中的限制,包括线程限制。这些限制是为了增强应用程序在不同的操作系统实现之间的可移植性。

12.3线程属性

线程属性的数据类型是pthread_attr_t结构的指针。

可以用下面的方法初始化和去除线程的属性:

#include  <pthread.h>

int  pthread_attr_init(  pthread_attr_t  *attr)

int  pthread_attr_destroy( pthread_attr_t  *attr)

我们可以用专门的函数来得到和修改线程属性的各种值。

线程的属性主要有:线程的分离状态、线程栈末尾的警戒缓冲区大小、线程栈的最低地址、线程栈的大小。


可以用下面的函数得到线程的分离状态:

#include  <pthread.h>

int pthread_attr_getdetachstat( const  pthread_attr_t  *restrict  attr,  int  *detachstate);

int  pthread_attr_setdetachstate( pthread_attr_t  *attr,  int  detachstate)


分离状态创建线程:

[root@localhost apue]# cat page315.c 
#include "apue.h"
#include <pthread.h>

int makethread(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)
                err = pthread_create(&tid, &attr, fn, arg);
        pthread_attr_destory(&attr);
        return(err);
}














AUPE学习第十二章------线程控制

原文:http://blog.csdn.net/huang2009303513/article/details/19629023

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!