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;
}
相关推荐
RoboWizard1 分钟前
解锁高效办公新体验 金士顿高速闪存盘
运维·服务器·网络·缓存·智能手机
赋创小助手4 分钟前
NVIDIA RTX PRO 4500 Blackwell Server Edition 深度解析:AI服务器新一代“高密度算力卡”?
服务器·人工智能·科技·深度学习·计算机视觉·语言模型·自然语言处理
user_admin_god5 分钟前
服务器安装向量数据库-Docker版本
服务器·数据库·docker
阿杜杜不是阿木木5 分钟前
从0到1构建像Claude Code那样的Agent(三):行动前先计划
java·服务器·windows·agent·ai编程·claudecode
蓝队云计算6 分钟前
部署OpenClaw选什么服务器?2核4G+10M带宽配置的蓝队云服务器轻松搞定!
运维·服务器·人工智能·云服务器·openclaw
XerCis6 分钟前
安卓手机搭建Samba服务器SMB
android·服务器·智能手机
羑悻的小杀马特7 分钟前
Apache IoTDB:开启端边云协同的时序数据新时代
运维·人工智能·apache·iotdb
九河云9 分钟前
云供应链安全:第三方 SaaS 服务的风险评估与管控
大数据·运维·安全·架构·数字化转型
Shi_haoliu11 分钟前
FRP + Caddy 域名HTTPS配置指南
服务器·frp·caddy·openclaw
万里沧海寄云帆12 分钟前
一步修复Win11下conda无法激活问题
linux·python·conda