当前位置: 首页 > news >正文

线程分离属性

#include <stdio.h>
#include <pthread.h>
#include <unistd.h>
#include <sys/types.h>
#include <unistd.h>static void* thread_fun(void*arg)
{//pid_t pid;//  pthread_detach(pthread_self());  // 使用这个  有概率 pthread_join 运行正常sleep(1);printf(" thread_fun \r\n");
}int main()
{pthread_t tid;pthread_attr_t attr;pthread_attr_init(&attr);pthread_attr_setdetachstate(&attr,PTHREAD_CREATE_DETACHED); // PTHREAD_CREATE_JOINABLE// pthread_attr_setdetachstate(&attr,PTHREAD_CREATE_JOINABLE);if(pthread_create(&tid,&attr,thread_fun,NULL)){printf("create new thread failed\r\n");return -1;}// 销毁属性对象pthread_attr_destroy(&attr);//    usleep(100000);if(pthread_join(tid,NULL))  // 等待子进程退出{printf("join thread failed \r\n");}else{printf("pthread_join success  \r\n");}sleep(5);//pmap -x 3214 | grep stackreturn 0;
}

线程分离后,不需要使用pthread_join 来释放该线程资源  线程自身运行完会释放资源

默认线程是可连接  pthread_join会等待资源释放

pthread_detach(pthread_self());  // 使用这个  有概率 pthread_join 运行正常

gcc thread_detach.c -o thread_detach -lpthread

相关文章:

  • JavaScript BOM 详细介绍
  • C++ 标准模板库(STL)详解文档
  • 2506C++,C++的时间库
  • 2025-03-15-位运算
  • 树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法
  • Canfestival的移植思想
  • SpringBoot项目报错汇总
  • 磐维数据库的权限使用
  • 7.6 Finetuning the LLM on instruction data
  • SciencePlots——绘制论文中的图片
  • 软件开发和嵌入式开发岗位的面试题
  • PLC入门【7】基本指令的总结(MC、MCR)
  • threadlocal的实现说明
  • Doris “_stream_load“ 方式批量导入数据
  • 使用Ajax从前端向后端发起请求
  • 算法第12天|继续学习二叉树:翻转二叉树、对称二叉树、二叉树最大深度、二叉树的最小深度
  • 铭豹扩展坞 USB转网口 突然无法识别解决方法
  • 蓝奏云(Lanzou Cloud)一款国内知名的免费网盘和文件分享服务 以及蓝奏云的api
  • APM32芯得 EP.10 | 基于APM32F411控制的一个软开关电路设计分享
  • Word-- 制作论文三线表
  • 网站开发一般会用到什么语言/电商运营培训学费多少
  • 高端终端网站设计类网站/网站关键词排名查询
  • 网站开发设计的阶段/大数据精准营销
  • 怎么在vk网站上做推广/重庆森林在线观看
  • 购买主机可以做网站吗/长春网站建设解决方案
  • 深圳高端网站定制公/百度公司官网首页