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号。

三,线程代码的实现。

相关推荐
熊文豪5 分钟前
搭建AI资讯早报:AiOnly全球大模型服务+N8N自动化工作流实战
linux·运维·服务器
-指短琴长-14 分钟前
ProtoBuf速成【基于C++讲解】
android·java·c++
Cx330❀22 分钟前
《C++ 搜索二叉树》深入理解 C++ 搜索二叉树:特性、实现与应用
java·开发语言·数据结构·c++·算法·面试
爱吃烤鸡翅的酸菜鱼28 分钟前
深度解析《AI+Java编程入门》:一本为零基础重构的Java学习路径
java·人工智能·后端·ai
SimonKing32 分钟前
被卖的Hutool出AI模块了!它如何让Java调用大模型变得如此简单?
java·后端·程序员
阿猿收手吧!1 小时前
【C语言】localtime和localtime_r;strftime和strftime_l
linux·c语言·开发语言
不穿格子的程序员1 小时前
从零开始刷算法-栈-字符串解码
java·开发语言
你不是我我1 小时前
【Java 开发日记】设计模式了解吗,知道什么是饿汉式和懒汉式吗?
android·java·开发语言
yewq-cn1 小时前
海思 SLE 芯片 Linux 烧录
linux·服务器
♡喜欢做梦1 小时前
Spring MVC 响应处理:页面、数据与状态配置详解
java·javascript·spring·java-ee