linux(线程概念)

news2025/8/4 7:51:36

目录:

            1.概念

            2.linux线程与接口的关系

            3.代码验证(线程是进程模拟的)

-------------------------------------------------------------------------------------------------------------------------------

1.概念

一般教材:

线程:是在进程内部运行的一个执行分支(执行流),属于进程的一部分,粒度要比进程更加细和轻量化。

 CPU调度进程,拿着你进程PCB,把你PCB当中的上下文,放进CPU当中,恢复进程

如果我假设,我有一个能力把你的代码分上一部分,把你的数据分上一部分,把你乱七八糟的区域分上一小部分,然后我创建一个PCB,,不过我新的PCB不想创建新的进程,新的PCB不想指向新的地址空间,而是指向我们主进程的PCB地址空间同一个

 

CPU此时看到的PCB  <= 之前进的PCB的

CPU只是认为一个PCB就是一个需要被调度的执行流!!!这样的每一个一个一个的PCB 在我们的linux当中称之为线程

linux中没有专门为线程设计 TCB,而是用进程的PCB来模拟线程(不用维护复杂的进程和线程关系,不用单独为所谓的线程设计任何算法,直接使用进程的一套相关方法,OS只需要聚焦在线程间的资源分配上,就可以了)

上面叫做线程是属于进程的一部分呢??

线程的公有和私有资源

所以的轻轻量级(可能是”线程“)都是在进程内部运行(地址空间:用来表示进程所能看到的大部分资源!!!)

进程,独立性(PCB是分开的),可以有部分共享资源(管道、ipc资源)
线程,大部分资源是共享的,可以有部分资源是”私有“的(线程的PCB,栈(线程在执行和运行 的时候产生的临时数据是可以被压栈的,线程和线程之间临时数据不会互相干扰,所以需要有独立的栈结构),上下文(一个线程是调度的基本单位,所以它一定会形成自己在CPU寄存器当中自己的临时数据))

-------------------------------------------------------------------------------------------------------------------------------

2.linux线程与接口的关系

 3.代码验证(线程是进程模拟的)

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/644194.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

STM32驱动Realtek RTL8189ES WiFi模块读取MAC地址并下载固件

单片机&#xff1a;STM32F103RE 接口&#xff1a;SDIO Keil 5工程下载链接&#xff1a;https://pan.baidu.com/s/1yIgUJUZcwWOL7xnwA9Rw2Q?pwdftxd Wi-Fi模块电源引脚的连接方法&#xff1a; 【RTL8189ES读取片内MAC地址的代码】 /* 显示WiFi模块参数信息 */ void WiFi_ShowI…

【力扣刷题 | 第八天】

前言&#xff1a; 本章将利用栈与队列来尝试解决实际问题。 20. 有效的括号 - 力扣&#xff08;LeetCode&#xff09; 给定一个只包括 (&#xff0c;)&#xff0c;{&#xff0c;}&#xff0c;[&#xff0c;] 的字符串 s &#xff0c;判断字符串是否有效。 有效字符串需满足&…

chatgpt赋能python:Python批量删除:简化SEO优化的过程

Python批量删除&#xff1a;简化SEO优化的过程 SEO&#xff08;Search Engine Optimization&#xff09;优化是网站运营中不可忽视的一项任务。其中涉及到对内容和网站结构的优化&#xff0c;而这些工作也离不开对数据的处理。其中一个常见问题是需要删除一批旧的或者无用的页…

《统计学习方法》——条件随机场(中)

引言 这是统计学习方法第十一章条件随机场的阅读笔记&#xff0c;包含所有公式的详细推导。 条件随机场(conditional random field,CRF)是给定一组输入随机变量条件下另一组输出随机变量的条件概率分布模型&#xff0c;其特点是假设输出随机变量构成马尔可夫随机场。 建议先阅…

chatgpt赋能python:Python怎么持续输入?

Python怎么持续输入&#xff1f; Python是一个高级编程语言&#xff0c;它的简单易用性让它成为程序员们心仪的语言之一。在Python编程中&#xff0c;输入是一个非常重要的环节。 在这篇文章中&#xff0c;我们将讨论Python如何进行持续输入。我们将介绍几种不同的方法&#…

计算机图形学与opengl C++版 学习笔记 第10章 增强表面细节

假设我们想要对不规则表面的物体进行建模&#xff0c;例如橘子凹凸的表皮、葡萄干褶皱的表面或月球的陨石坑表面。我们该怎么做&#xff1f;到目前为止&#xff0c;我们已经学会了两种可能的方法&#xff1a; &#xff08;a&#xff09;我们可以对整个不规则表面进行建模&…

【期末总复习】数字图像处理知识要点

【A卷】 【选择】 1、计算机器显示彩色图像的格式 2、灰度反转后&#xff08;一副图像灰度级&#xff09;的灰度值是几 3、灰度图像浅色背景下加圆环会导致什么后果 4、图像平滑的模板有哪些 5、γ矫正指的是什么数学变换 6、一阶锐化空间滤波器有哪些 7、图像复原、图像增强…

运维(SRE)成长之路-第1天 搭建虚拟机(图示)

1.Linux安装前准备 虚拟机&#xff1a;用软件&#xff08;如&#xff1a;vmware,virtualbox等&#xff09;模拟硬件,方便实验的灵活配置 虚拟化软件&#xff0c;建议使用 Vmware Workstation 虚拟硬件配置 CPU&#xff1a;2核或更多 内存&#xff1a;1G以上&#xff0c;推荐2…

chatgpt赋能python:Python中如何找出最小的2个值

Python中如何找出最小的2个值 Python作为一种高效可靠的编程语言&#xff0c;拥有出色的处理数据和算法的能力。在数据处理中&#xff0c;常常需要对数据进行排序并找出最小&#xff08;或最大&#xff09;的数值。本文将着重介绍如何在Python中找出最小的2个值。 方法1&…

编程比赛 (ACM竞赛)常用术语

比赛相关 AK&#xff1a;All-Killed 通常指在信息学竞赛中获得满分&#xff08;即 AC 了所有题目&#xff09;。 由于在中高级信息学竞赛中&#xff08;如 IOI&#xff0c;NOI&#xff0c;NOIP&#xff0c;ACM&#xff09;&#xff0c;想要获得满分普遍较难&#xff0c;甚至根…

java三大特性之【继承】

概念 继承就是将多个类的共性抽取出来&#xff0c;提出继承的概念。就是在进行共性抽取&#xff0c;实现代码复用。 提高代码的复用性&#xff0c;方便进行子类&#xff0c;子功能的扩展&#xff0c;将所有共性的内容放在父类&#xff08;基类&#xff09;&#xff0c;子类只…

裁剪lua5.3.4

在 Lua 5.3.4 中&#xff0c;有一些宏定义可以缩小 Lua 的资源占用&#xff0c;包括&#xff1a; LUA_COMPAT_5_2&#xff1a;该宏定义可以将 Lua 5.3 的行为与 Lua 5.2 兼容&#xff0c;缩小 Lua 的资源占用。例如&#xff0c;该宏定义可以禁用一些 Lua 5.3 中新增的语法特性&…

在线协同办公小程序开发搭建开发环境

目录 介绍 开发环境说明 虚拟机 原因 VirtualBox虚拟机 VMware虚拟机v15 安装MySQL数据库 安装步骤 导入EMOS系统数据库 安装MongoDB数据库 启动Navicat&#xff0c;选择创建MongoDB连接 创建用户 搭建Redis数据库 配置Maven 安装IDEA插件 Lombok插件 …

基于Java+SpringBoot+Vue实现前后端分离美术馆管理系统

博主介绍&#xff1a;✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

【哈佛积极心理学笔记】第15讲 完美主义

第15讲 完美主义 A person committed to excellence can still be as ambitious or more ambitious than a perfectionist. The difference between the two is just their approach toward the journey. There is no straight line toward success. Perfection vs Excellenc…

CMake入门(1)

背景 目前很多大型框架都是使用cmake去构建&#xff0c;如果看不懂cmake, 在实际修改框架&#xff0c;添加新的模块时候就会受制于人&#xff0c;为此需要了解cmake的相关基础支持&#xff0c;避免被某些装逼大佬卡脖子&#xff0c;同时也进一步提高自己的业务水平。 变量 c…

Hello算法学习笔记之数组与链表

一、数组 线性数据结构&#xff0c;其将相同类型元素&#xff08;链表就不一定要存储相同类型的元素&#xff09;存储在连续的内存空间中。。数组有Index 数组的优点&#xff1a;访问很高效&#xff0c;O&#xff08;1&#xff09; PS:元素长度是单个元素占用的内存空间&…

CSS基础学习--13 Display(显示) 与 Visibility(可见性)

一、定义 display属性设置一个元素应如何显示 visibility属性指定一个元素应可见还是隐藏 二、隐藏元素 - display:none或visibility:hidden 隐藏一个元素可以通过把display属性设置为"none"&#xff0c;或把visibility属性设置为"hidden"。但是请注意&am…

Aprioi关联算法

国际权威的学术会议IEEE International Conference on Data Mining (ICDM) 评选出了数据挖掘领域的十大经典算法&#xff0c;他们分别是&#xff1a;C4.5、kMeans、SVM、Apriori、EM、PageRank、AdaBoost、KNN、Naive Bayes以及CART。今天就让我们共同探讨一下十大算法之一Apri…

红黑树的插入和删除

红黑树&#xff08;C&#xff09; 红黑树简述红黑树的概念红黑树的性质红黑树结点定义 一&#xff0c;红黑树的插入插入调整插入代码 二&#xff0c;红黑树的验证三&#xff0c;红黑树的删除待删除的结点只有一个子树删除结点颜色为红色删除结点颜色为黑色 删除的结点为叶子节点…