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;
}
相关推荐
CHANG_THE_WORLD18 分钟前
12.总结:深入理解 Linux I/O 多路复用:select、poll、epoll 全解析
linux·运维·服务器
风曦Kisaki35 分钟前
# Linux笔记:操作系统优化与资源管理
linux·运维·服务器·笔记
Mr.HeBoYan1 小时前
一次持续三天才出现的丢包故障——深入解析 DPDK Memory Ordering、rte_ring 与 CPU Memory Barrier (下)
linux·网络·算法·架构·dpdk
zhangrelay3 小时前
笔记本轻量高品质延寿工具完整分系统清单
运维·笔记·学习
初願致夕霞3 小时前
C++懒汉单例设计详解
服务器·开发语言·c++
Discipline~Hai3 小时前
ARM01-ARM体系架构
linux·c语言·arm开发·架构
RisunJan4 小时前
Linux命令-screen(终端复用器)
linux·运维
啊哦1114 小时前
安装VMware Workstation
linux·运维·服务器
持敬chijing5 小时前
Linux基础命令与目录命令
linux·运维·服务器
yunwei375 小时前
实证研究:AI Agent 规则需要上下文与分层强制执行
linux·安全·ai编程