news 2026/5/28 22:58:26

Linux——线程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux——线程

1.线程概念

线程是什么:是进程内部的一条执行流,是CPU调度的基本单元。

本质:Linux下线程的本质就是task_struct

Linux下的这个调度单元就是pcb,而这个pcb相较于传统操作系统设计的pcb更加轻量,因此Linux下的线程也被称为轻量级进程

2.进程和线程区别:

从功能性质上的差别:

进程:是系统进行资源分配的基本单元;

线程:是系统中进行CPU调度的基本单元

使用上的差别:针对多任务的处理

多进程:资源消耗成本更高,稳定性更高

多线程:资源消耗的成本更低,调度切换成本更低,线程间通信更加方便,执行粒度更加细致

3.线程间的共享和独有:

共享:进程ID,虚拟地址空间+页表,打开的文件信息,信号信息,进程间通信描述信息....

独有:线程ID,调度上下文信息,线程栈空间.....

4.线程的控制:

Linux下的线程是大佬们封装的一套库函数实现的控制操作的一个函数库

pthread_create ->clone(pcb)

用户态线程:针对线程上层封装描述后的执行流+数据的整体

相对独有的数据:用户态线程ID 线程栈内部的局部数据 用户态控制的描述信息

内核态线程:就指的是pcb-task_struct

(1)线程创建

pthread_create(&tid,&attr,Func,arg)

LWP:轻量级进程ID

ps -L:进行查看轻量级进程信息

轻量级进程ID:就是task_struct里边的pid,每个轻量级进程唯一的

pthread_t线程ID:虚拟地址空间中线程独有线程描述空间的地址

(2)线程退出

  • 线性入口函数中return(线程入口函数运行完毕,线程就会退出)
  • void pthread_exit(void* retval); 在线程内部调用的任意函数中调用都可以退出线程
  • void pthread_cancel(pthread_t tid);取消一个线程
  • 被取消的线程,它的返回值没有参考意义的(是一个固定值:PTHREAD_CABCELED)

(3)线程等待

等待指定线程退出,获取返回值,释放它的所有资源

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

(4)线程分离

设置线程的分离属性:从joinable设置为detach状态

线程一旦被分离,线程退出后,就会自动释放所有的资源,不需要被等待,也不能被等待

void pthread_detach(pthread_t tid);

应用场景:当我们不关系一个线程的返回值,而且也不希望阻塞在等待上,则使线程分离

5.线程安全

多个线程之间对同一份临界资源的访问安全性要求

如何实现:同步+互斥;

互斥的实现:互斥锁

同步的实现:条件变量,信号量

读写锁

自旋锁

锁的种类

死锁

生产者消费者模型

读者写者模型

1.什么是并发,什么是并行?

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

只有一张照片能不能换脸?2026年AI换脸工具深度解

只有一张照片,真的能完成可信换脸吗很多短视频运营和MCN团队在做热点复刻或角色统一化时,常遇到一个现实卡点:手头只有博主本人一张高清正脸照,但需要批量生成不同口播内容下的‘同一张脸’视频。传统方案要么依赖多角度训练数据集…

作者头像 李华
网站建设 2026/5/28 22:54:00

微信QQ消息防撤回终极方案:用RevokeMsgPatcher守护你的重要信息

微信QQ消息防撤回终极方案:用RevokeMsgPatcher守护你的重要信息 【免费下载链接】RevokeMsgPatcher :trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁(我已经看到了,撤回也没用了) 项目地址: https://g…

作者头像 李华
网站建设 2026/5/28 22:52:07

终极解决方案:让Windows资源管理器完整支持HEIC缩略图预览

终极解决方案:让Windows资源管理器完整支持HEIC缩略图预览 【免费下载链接】windows-heic-thumbnails Enable Windows Explorer to display thumbnails for HEIC/HEIF files 项目地址: https://gitcode.com/gh_mirrors/wi/windows-heic-thumbnails 您是否经常…

作者头像 李华
网站建设 2026/5/28 22:51:30

What kind of person is a sports talent

What kind of person is a sports talent 体育人才,怎么会没人才呢。篮球,足球等等或许我们的选材无法选中顶尖的人更多是中间层的人或许是我们不需要

作者头像 李华
网站建设 2026/5/28 22:50:59

AI黑客能力太猛!GPT-5.5把网络安全测评玩坏了

2026年,一场悄无声息的技术革命正在网络安全领域上演。就在本周一,澳大利亚研究机构Lyptus Research发布的一份报告,让全球AI从业者心头一震——开源大模型GPT-5.5的表现,已经让现有的网络安全评估体系"完全失灵"。测评…

作者头像 李华