141 Linux 系统编程18 ,线程,线程实现原理,ps –Lf 进程 查看

一 线程概念

什么是线程

LWP:light weight process 轻量级的进程,本质仍是进程(在Linux环境下)

进程:独立地址空间,拥有PCB

线程:有独立的PCB,但没有独立的地址空间(共享)

区别:在于是否共享地址空间。 独居(进程);合租(线程)。

Linux下: 线程:最小的执行单位

进程:最小分配资源单位,可看成是只有一个线程的进程

二 Linux内核线程实现原理

类Unix系统中,早期是没有"线程"概念的,80年代才引入,借助进程机制实现出了线程的概念。因此在这类系统中,进程和线程关系密切。

  1. 轻量级进程(light-weight process),也有PCB,创建线程使用的底层函数和进程一样,都是clone

  2. 从内核里看进程和线程是一样的,都有各自不同的PCB,但是PCB中指向内存资源的三级页表是相同的

  3. 进程可以蜕变成线程

  4. 线程可看做寄存器和栈的集合

  5. 在linux下,线程最是小的执行单位;进程是最小的分配资源单位

察看LWP号:ps --Lf pid 查看指定线程的lwp号。

三,线程代码的实现。

相关推荐
爱丶狸1 小时前
Grafana_Zabbix_ImageRenderer_部署与前端操作手册
linux·前端·zabbix·grafana·kylin
k4m7v2pz2 小时前
把 Bevy 0.14 游戏移植到 R36S 掌机:一场与“无窗口系统“的搏斗
linux·rust·bevy·r36s·rk3326·开源掌机
木子欢儿4 小时前
Intel 架构的 MacBook Pro 运行 Linux 发热量高解决
linux·运维·服务器
都叫我大帅哥4 小时前
Java JJWT 完全指南:从入门到生产级实践
java
前端开发张小七5 小时前
Java 学习笔记 · 第一课:基础语法与核心概念
java·后端
ThsPool6 小时前
【ENVI二次开发学习整理 04】ENVI功能扩展与二次开发
java·前端·javascript
赤壁小虾6 小时前
【渲染流水线】[逐片元阶段]-[透明度测试]以UnityURP为例
java·前端·数据库
会编程的土豆7 小时前
Go 模板初识
linux·运维·服务器
青山木7 小时前
Hot 100 --- 搜索插入位置
java·数据结构·算法·leetcode
Jul1en_7 小时前
【Claude Code Compact】源码级别的学习上下文压缩
java·前端·学习·github·ai编程