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;
}
相关推荐
yleihj2 分钟前
vCenter计算机SSL证书续期
服务器·网络协议·ssl
航Hang*4 分钟前
Windows Server 配置与管理——第12章:配置数字证书服务器
运维·服务器·windows
爱学习的小囧1 小时前
vSphere Supervisor 服务配置指南:自签名容器注册表使用教程
服务器·网络·esxi·虚拟化·vcf
Edward111111111 小时前
linux创建普通用户
linux·运维·服务器
mzhan0171 小时前
Linux: rcu: 加速宽限期
linux·rcu
Fanfanaas2 小时前
Linux 基础开发工具(二)
linux·运维·服务器·c语言
雾岛听蓝2 小时前
Linux线程基础
linux·开发语言·经验分享
齐落山大勇2 小时前
Linux的文件IO
linux·运维·服务器
七七powerful2 小时前
运维养龙虾--Tmux 终端复用器完全指南:从入门到 AI Agent 远程操控
运维·服务器·人工智能
tod1133 小时前
深入解析ext2文件系统架构
linux·服务器·c++·文件系统·ext