Linux系统编程-多线程线程属性
如何查看有那些多线程系统调用属性api
线程属性系统api举例
/*
int pthead_attr_init(pthread_attr_t *attr);
-对属性变量初始化
int pthread_attr_destroy(pthread_attr_t *attr);
-使用完毕需要销毁
int pthread_attr_getdetachstate(const pthread_attr_t *attr, int*detachstate);
-获取线程分离的属性
int pthread_attr_setdetachstate (pthread_attr_t *attr, intdetachstate);
-给属性设置一些值,设置线程分离的属性
*/
#include <pthread.h>
#include <stdio.h>
#include <string.h>
void *thread_cal(void *arg)
{
printf("子线程id=%ld.收到数据%s:\n",pthread_self(),(char *)arg);
return NULL;
}
int main()
{
//创建一个线程属性变量
pthread_attr_t attr;
pthread_attr_init(&attr);
//设置属性
pthread_attr_setdetachstate(&attr,PTHREAD_CREATE_DETACHED);
pthread_t tid;
//获取线程zhan大小
size_t size;
pthread_attr_getstacksize(&attr,&size);
printf("pthread stack size: %ld\n",size);
int ret = pthread_create(&tid,&attr,thread_cal,NULL);
if(ret != 0)
{
char *error_s = strerror(ret);
printf("pthread_create error:%s\n",error_s);
}
printf("主线程id:%ld,子线程id:%ld\n",pthread_self(), tid);
//释放线程属性资源
pthread_attr_destroy(&attr);
pthread_exit(NULL);//主线程退出
return 0;
}
原文地址:https://blog.csdn.net/zbz123456789_/article/details/143652543
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!