Linux 线程属性相关函数

pthread_attr_t就是对应线程的属性

bash 复制代码
/*
    #include <pthread.h>
    int pthread_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, int detachstate);
        设置线程分离的状态属性
*/

#include <stdio.h>
#include <pthread.h>
#include <string.h>
#include <unistd.h>

void* callback(void* arg) {
    printf("child thread id:%ld", pthread_self());
    return NULL;
}

int main() {

    //创建一个线程属性变量
    pthread_attr_t attr;
    //初始化
    pthread_attr_init(&attr);
    //设置属性
    pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
    //创建一个子线程
    pthread_t tid;
    int ret = pthread_create(&tid, &attr, callback, NULL);
    if(ret != 0) {
        char* strerr = strerror(ret);
        printf("error: %s\n", strerr);
    }

    printf("tid: %ld, main thread id:%ld\n", tid, pthread_self());

    size_t size;
    pthread_attr_getstacksize(&attr, &size);

    printf("%ld\n", size);
    pthread_attr_destroy(&attr);

    pthread_exit(NULL);

    return 0;
}
相关推荐
林姜泽樾7 分钟前
Linux入门第十七章,systemctl软件启动和软连接
linux·运维·服务器·centos
CDN36011 分钟前
360CDN 产品实测合集:CDN / 高防 / SDK 游戏盾真实反馈
运维·游戏·网络安全
济61715 分钟前
ARM Linux 驱动开发篇--- Linux 并发与竞争实验(自旋锁实现 LED 设备互斥访问)--- Ubuntu20.04自旋锁实验
linux·嵌入式·嵌入式linux驱动开发
i建模17 分钟前
SSL: CERTIFICATE_VERIFY_FAILED feishu 机器人CoPaw
运维·网络·网络协议·ssl·openclaw
艾莉丝努力练剑17 分钟前
alarm系统调用的一次性原理揭秘
linux·运维·服务器·开发语言·网络·人工智能·学习
zly350029 分钟前
只能同网段ping通,route add命令添加默认路由
linux·运维·服务器
徐子元竟然被占了!!42 分钟前
批处理文件
运维
isyangli_blog42 分钟前
制作Linux Centos8 模板
linux·运维·服务器
lsunwing1 小时前
jsjdafasdfadsf
运维·服务器
Java后端的Ai之路1 小时前
Playwright是微软开源的浏览器自动化库:从入门到精通的实战指南
运维·microsoft·自动化·浏览器自动化·playwright