news 2026/7/14 20:12:17

系统编程中线程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
系统编程中线程

一、线程的定义与作用

定义:线程是轻量级的进程,线程属于某个进程。

作用:并发,和进程相同。相对比较耗时的任务。

特征:1.进程是系统中最小的资源分配单位。

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

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

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

二、线程与进程的区别

特性

维度

进程线程
资源共享性资源独立,进程间默认不共享同一进程内的线程共享进程资源
稳定性稳定性高,单个进程崩溃不会影响其他进程稳定性低,同一进程内的任一线程崩溃会导致整个进程终止

创建

开销

开销极大,需要独立创建3GB虚拟地址空间开销极小,仅需在所属进程空间内开辟独立栈区(8MB)
并发度并发度低并发度高

三、线程编程步骤

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

四、查看线程信息的命令

ps -eLf ps -eLo pid,ppid,lwp,stat,comm

五、线程相关函数

//功能:该函数可以创建指定的一个线程

参数:thread 线程id,需要实现定义并由该函数返回。
attr 线程属性,一般是NULL,表示默认属性。
start_routine 指向指针函数的函数指针。本质上是一个函数的名称即可。称为th回调函数,是线程的执行空间。
arg 回调函数的参数,即参数3的指针函数参数。

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

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

//功能:获得当前线程的id号

参数:无

返回值:成功 返回当前线程的线程id 失败 非0值。

pthread_t pthread_self(void); unsigned long int;

//功能:子线程自行退出

参数:retval 线程退出时候的返回状态

返回值:无

void pthread_exit(void *retval);

//功能:请求结束一个进程

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

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

int pthread_cancel(pthread_t thread);

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

参数:threa 要回收的子线程tid retval 要回收的子线程返回值/状态

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

int pthread_join(pthread_t thread, void **retval);

分离属性:给某个线程设置的属性,如果线程设置了这个属性,那么,线程在退出后,相关资源(栈区)会被系统回收,原来创建者,就不能回收了

目的线程消亡,自动回收空间

//功能:设置分离属性

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

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

int pthread_deatch(pthread_t thread);
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/13 4:18:53

六音音源完整修复方案:解决洛雪音乐播放问题

六音音源完整修复方案:解决洛雪音乐播放问题 【免费下载链接】New_lxmusic_source 六音音源修复版 项目地址: https://gitcode.com/gh_mirrors/ne/New_lxmusic_source 当您打开最新版洛雪音乐却无法播放心爱歌曲时,六音音源修复方案正是您需要的技…

作者头像 李华
网站建设 2026/7/12 14:33:53

Python通达信数据分析终极指南:Mootdx完整入门教程

Python通达信数据分析终极指南:Mootdx完整入门教程 【免费下载链接】mootdx 通达信数据读取的一个简便使用封装 项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx 在金融数据分析和量化投资领域,通达信作为国内主流的证券软件&#xff0…

作者头像 李华
网站建设 2026/7/13 2:43:30

TPFanCtrl2终极指南:让你的ThinkPad风扇智能又安静

TPFanCtrl2终极指南:让你的ThinkPad风扇智能又安静 【免费下载链接】TPFanCtrl2 ThinkPad Fan Control 2 (Dual Fan) for Windows 10 and 11 项目地址: https://gitcode.com/gh_mirrors/tp/TPFanCtrl2 还在忍受ThinkPad风扇的噪音干扰吗?TPFanCtr…

作者头像 李华
网站建设 2026/7/14 8:19:18

LobeChat安全性评估:XSS防护与CSRF防御机制检查

LobeChat安全性评估:XSS防护与CSRF防御机制检查 在当今 AI 聊天应用遍地开花的背景下,LobeChat 凭借其现代化架构和强大的可扩展性脱颖而出。作为一款基于 Next.js 构建的开源大语言模型(LLM)前端框架,它不仅支持 GPT…

作者头像 李华
网站建设 2026/7/11 4:18:16

Vue可视化打印插件完整使用指南:从入门到精通

在现代Web开发中,打印功能往往是项目开发中不可或缺的一部分。无论是生成报表、制作标签还是输出单据,一个强大而灵活的打印解决方案能够显著提升用户体验。vue-plugin-hiprint作为专为Vue生态设计的打印插件,通过可视化设计器、拖拽操作和丰…

作者头像 李华
网站建设 2026/7/15 1:09:42

阴阳师自动化脚本:3大核心技能解锁,游戏效率提升500%实用指南

想要在阴阳师中实现真正的"挂机刷本"?OnmyojiAutoScript作为一款专业的阴阳师自动化工具,能够帮你解锁游戏效率的全新境界。从百鬼夜行的智能撒豆到御魂副本的自动循环,这款工具让重复性操作成为历史,让你专注于游戏策略…

作者头像 李华