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

线程及其函数

一,线程定义及特征

1.概念:Linux中,线程是轻量级的进程,其属于某个进程。

2.特征:

进程是系统中最小的资源分配单位。

线程是系统中最小的执行单位。

进程中,线程与线程是平级关系。

在进程中,默认有一个主线程。

二,与线程的区别

线程进程
资源可共享资源独立
不稳定(一个线程崩溃,整个进程崩溃)相对稳定
线程创建需在进程空间中(8MB)需3GB空间
并发度高相较线程低

三,线程编程步骤

创建多线程 ->线程空间操作->线程资源回收(线程退出后,默认栈区不释放)

相关函数

1.线程的创建: pthread_create

int pthread_create(pthread_t *thread, const pthread_attr_t *attr,void *(*start_routine) (void *), void *arg);

功能:可以创建一个线程。

参数:

thread 线程id,需要实现定义并由该函数返回。

attr 线程属性,一般是NULL,表示默认属性。

start_routine 指向指针函数的函数指针。

本质上是一个函数的名称即可。称为th回调函数,是线程的执行空间。

arg 回调函数的参数,即参数3的指针函数参数。

返回值:成功 0 ;失败 错误码

2.id号的获取:pthread_t pthread_self(void)

pthread_t pthread_self(void); unsigned long int; %lu

功能:获得当前线程的id

3.退出线程:(1)pthread_exit

void pthread_exit(void *retval); exit return p;

功能:子线程自行退出

参数:

retval 线程退出时候的返回状态。

无返回值。

(2)pthread_cancel

int pthread_cancel(pthread_t thread)

功能:请求结束一个线程

参数:thread 请求结束一个线程tid。

返回值:成功 0 ;失败 非0值;
4.线性空间的回收:pthread_join

int pthread_join(pthread_t thread, void **retval)

功能:通过该函数可以将指定的线程资源回收,该函数具有阻塞等待功能,如果指定的线程没有结

束,则回收线程会阻塞。

参数:thread 要回收的子线程tid

retval 要回收的子线程返回值/状态。ptread_exit(值);

返回值:成功 0 ;失败 非0值

四,分离属性

给某个线程设置的属性,如果线程设置了这个属性,那么,线程在退出后,相关资源(栈区)会

被系统回收,原来创建者,就不能回收了。目的线程消亡,自动回收空间。

函数:pthread_deatch

int pthread_deatch(pthread_t thread);

功能:设置分离属性

参数:线程id号,填自己的id

返回值:成功 0 ;失败 非0值;

http://www.cnnetsun.cn/news/94979.html

相关文章:

  • Linux EEPROM调试
  • 终极解决方案:告别Visual C++运行库缺失困扰,一键完成全版本部署
  • 安达发|当艺术遇见算法:APS系统如何解开工艺品行业的生产魔方
  • Obsidian Style Settings插件使用指南:打造个性化笔记界面
  • Swagger2Word终极指南:一键将API文档转为专业Word格式
  • 【C2000中断Debug】如何定位与调试异常中断
  • vue3中computed计算属性和方法的区别
  • LobeChat国际社区动态:全球开发者共同维护
  • 基于STM32的水质检测系统设计与实现
  • Radm1n1ster CN
  • 重构智慧书-第18条:实力与实干
  • 读捍卫隐私08智能出行
  • 媒体专访实录:LobeChat创始人谈开源初心
  • 小喵播放器 1.1.2| 一款支持视频超分的播放器,支持网页视频以及B站番剧
  • LobeChat待办事项提取与提醒功能实现
  • LobeChat会话管理机制揭秘:让每一次对话都井然有序
  • JS利用分片技术实现大文件分块上传的性能优化?
  • HTML5配合AES加密实现大文件分块传输安全?
  • NPP 热带森林:墨西哥查梅拉,1982-1995 年,R1
  • WordPress粘贴微信公众号内容自动排版
  • 毕设 stm32与深度学习口罩佩戴检测系统(源码+硬件+论文)
  • 手机端AIDE安卓音乐播放器软件代码
  • 如何在 Windows 11/10 中启用IE浏览器?恢复 Internet Explorer 一键搞定,就这么简单!
  • Scholar Inbox 订阅最新学术进展至邮箱
  • D.二分查找-二分答案-求最小——1283. 使结果不超过阈值的最小除数
  • A.每日一题——3562. 折扣价交易股票的最大利润
  • 圣默思 Teledyne DalsaFilr SWIR相机
  • Go 语言结构
  • JavaScript for 循环详解
  • 5步搞定SillyTavern版本升级:告别烦恼的完整指南