位置: IT常识 - 正文

线程是什么(os线程是什么)

编辑:rootadmin

推荐整理分享线程是什么(os线程是什么),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:线程是什么的基本单位,os线程是什么,java线程是什么,英特尔八核16线程是什么,键盘线程是什么,java线程是什么,线程是什么的基本单位,线程是什么意思,内容如对您有帮助,希望把文章链接给更多的朋友!

《进程是什么》一节讲到,为了提高 CPU 的利用率,便于分配和回收计算机软、硬件资源,多任务操作系统引入了“进程”这个概念。

多任务操作系统中,执行的每个任务(程序)都是一个进程。借助进程调度程序,操作系统可以同时执行多个进程(又称并发执行),每个进程使用的计算机资源都由操作系统负责分配和回收。因此,您可以这样理解进程,它是多任务操作系统分配和回收计算机资源的基本单位。

注意,虽然多任务操作系统支持多个进程并发执行,但实际场景中,某些并发执行的任务并不适合用多进程的方式实现。例如实现一个可接收多个用户访问请求的 Web 服务器,为了避免用户等待的时间过长,Web 服务器需要并发地处理不同用户发来的请求。

这种情况下,如果以多进程的方式实现该服务器,即为每个用户单独建立一个进程,会产生以下问题:

每创建一个进程,都需要占用较多的内存空间。随着访问服务器的用户数量越多,创建的进程数量就越多,可用的内存空间就越少;进程的上下文切换是一个复杂的过程,需要消耗大量的系统资源。

因此,创建的进程越多,系统所做的进程上下文切换的次数就越多,消耗的资源就越多,最终导致服务器可以处理的用户请求数量越少。

为了更高效率地解决此类问题,操作系统在“进程”的基础上,又引入了“线程”这个概念。

什么是线程

线程是进程的一部分,又称轻量级进程,它可以执行所属进程中的部分或者全部代码。

进程是操作系统分配和回收计算机资源的基本单位,而真正负责执行程序的是进程中的线程。一个进程至少拥有 1 个线程(又称单线程进程),也可以拥有多个线程,每个线程负责执行不同的任务(又称为多线程进程)。

线程是什么(os线程是什么)

进程中的每个线程,都拥有自己的程序计数器、寄存器、和堆栈,它们的功能分别是:

程序计数器(Counter):跟踪要执行的下一条指令;寄存器(Register):临时存储当前执行的指令需要使用的数据;堆栈(Stack):简称栈,可以存储函数相互调用的过程以及期间用到的数据(例如形式参数、局部变量等)。

下图为您展示了单线程进程和多线程进程的内部结构:

图 1 线程的内部结构

其中,Data 表示进程的数据区,Files 表示已打开的一些文件资源,它们为整个进程所有,即所有线程共享这些资源。

和每个进程都对应有一个进程控制块(PCB)类似,每个线程也对应有自己的线程控制块(简称 TCB)。TCB 中记录的线程状态数据要比 PCB 少得多。因此创建一个线程消耗的系统资源更少,线程上下文切换的效率更高。

线程的类型

线程的类型有 2 种,分别为用户级线程和系统级线程。

1) 用户级线程

所谓用户级线程,即由用户自己建立的线程,此类线程的管理工作全部由用户自己完成,操作系统只负责管理进程。

为了便于用户管理和使用线程,操作系统提供有一个供用户使用的线程库,借助它,用户可以轻松实现对线程的创建、调度和销毁操作。此外,线程库还提供有线程间通信,线程上下文切换等功能。

注意,用户级线程的上下文切换,仅限于进行线程间的调度,而不会影响 CPU 调度(进程调度)。

2) 系统级线程

系统级线程指的是由操作系统负责管理的线程。操作系统会提供给用户一个调用接口(API),从而使用户可以创建、执行以及销毁线程。

操作系统在负责管理进程调度的同时,还负责管理系统级线程的调度工作。对于同一进程中的多个线程,操作系统可以将其调度到一个 CPU 上并发执行,也可以将其调度到多个 CPU 上并发执行。

对于多用户级线程的进程来说,操作系统只会为该进程分配一个 CPU。

系统级线程上下文切换的效率不如用户级线程,但仍比进程上下文切换的效率高。

本文链接地址:https://www.jiuchutong.com/zhishi/277452.html 转载请保留说明!

上一篇:Win10无法访问局域网电脑怎么办(Win10无法访问局域网计算机)

下一篇:Mac怎么提高色彩对比度?Mac提高色彩对比度教程(mac电脑色彩设置)

  • vivos12与12pro区别(vivos10pro和苹果12参数对比)

    vivos12与12pro区别(vivos10pro和苹果12参数对比)

  • 看不到对方朋友圈封面(看不到对方朋友圈是不是被删了)

    看不到对方朋友圈封面(看不到对方朋友圈是不是被删了)

  • 秘乐短视频怎么提升等级(秘乐短视频怎么做任务)

    秘乐短视频怎么提升等级(秘乐短视频怎么做任务)

  • win7照片查看器打不开(win7照片查看器更新方法)

    win7照片查看器打不开(win7照片查看器更新方法)

  • magisk manager是什么(magisk magisk manager)

    magisk manager是什么(magisk magisk manager)

  • qq匿名怎么弄(qq匿名提问在哪里打开)

    qq匿名怎么弄(qq匿名提问在哪里打开)

  • 钉钉作业交错如何取消(钉钉作业交错如何撤回)

    钉钉作业交错如何取消(钉钉作业交错如何撤回)

  • micro sim卡是哪种卡(micro‑sim 卡)

    micro sim卡是哪种卡(micro‑sim 卡)

  • 路由器亮灯正常但wifi没了(路由器亮灯正常状态图片)

    路由器亮灯正常但wifi没了(路由器亮灯正常状态图片)

  • 群发怎么群发(群发怎么群发超过200人)

    群发怎么群发(群发怎么群发超过200人)

  • 文件传送协议FTP的主要工作过程是怎样的(文件传送协议ftp的主要工作过程)

    文件传送协议FTP的主要工作过程是怎样的(文件传送协议ftp的主要工作过程)

  • vivo手机微信运动步数为零(vivo手机微信运动怎么开启步数)

    vivo手机微信运动步数为零(vivo手机微信运动怎么开启步数)

  • 苹果手机照片删除了怎么还占内存(苹果手机照片删除了在哪里能找到)

    苹果手机照片删除了怎么还占内存(苹果手机照片删除了在哪里能找到)

  • 苹果8怎么强制重启(苹果8怎么强制开机步骤)

    苹果8怎么强制重启(苹果8怎么强制开机步骤)

  • aee是什么文件(.e是什么文件)

    aee是什么文件(.e是什么文件)

  • 什么手机膜最耐摔(什么手机膜耐用)

    什么手机膜最耐摔(什么手机膜耐用)

  • 魅族x8怎么关闭root权限(魅族手机模式怎么关闭)

    魅族x8怎么关闭root权限(魅族手机模式怎么关闭)

  • 为什么优酷不能投屏了(为什么优酷不能下载电视剧)

    为什么优酷不能投屏了(为什么优酷不能下载电视剧)

  • 微博怎么注销账号(微博怎么注销账号才能成功)

    微博怎么注销账号(微博怎么注销账号才能成功)

  • 医用超声波是如何产生的(超声波q)

    医用超声波是如何产生的(超声波q)

  • 电脑如何调图片分辨率(电脑如何调图片大小kb)

    电脑如何调图片分辨率(电脑如何调图片大小kb)

  • ios12怎么关闭语音信箱(iphone12怎么关闭语音控制)

    ios12怎么关闭语音信箱(iphone12怎么关闭语音控制)

  • 快手招聘信息怎么打开(快手招聘信息怎么发布不了)

    快手招聘信息怎么打开(快手招聘信息怎么发布不了)

  • 怎么在电脑上打开word(怎么在电脑上打出圆圈1)

    怎么在电脑上打开word(怎么在电脑上打出圆圈1)

  • 西瓜视频未获得微信的权限怎么办(西瓜视频未获得qq权限咋回事)

    西瓜视频未获得微信的权限怎么办(西瓜视频未获得qq权限咋回事)

  • 分享使用phpmyadmin如何修改帝国CMS的管理员密码(分享使用护肤品的感受)

    分享使用phpmyadmin如何修改帝国CMS的管理员密码(分享使用护肤品的感受)

  • 印花税计税依据含不含增值税
  • 报税日期是哪月哪天?
  • 企业注销库存怎么做账
  • 小规模升级一般纳税人需要多久
  • 年报资产总额是期末余额吗
  • 子公司注销资金还母公司冲实收资本吗
  • 耕地转让权是什么意思
  • 个税个人减免
  • 房产税没交会怎么样
  • 融资租入的企业有哪些
  • 银行结汇汇兑损益的会计分录怎么写?
  • 预收账款年底要确认收入吗
  • 出口退税申报流程视频
  • 销售货物多收款怎么处理
  • 经营租赁发生改良费用的会计分录如何处理?
  • 子公司给母公司开票
  • 回购库存股所有者权益会发生变化吗
  • 持有营业执照
  • 增值税发票含税不含税怎样调整
  • 用于非增值税应交税费
  • 未退还的保证金怎么处理
  • 汇票贴息会计分录
  • 补发工资补缴公积金一直没到账
  • 向投资者宣告发放股利会影响所有者权益吗
  • 小规模企业申报表填写
  • 施工项目直接成本和间接成本
  • 苹果手机14pro max
  • 图解 http
  • 本月发生的费用,下月取得发票,怎么做账
  • ping命令测试结果
  • SSDP Discovery Service 是什么可以禁用吗
  • 微软告诉你
  • 代理进口的增值税如何入账
  • 工程结算的编制方法
  • 观察者模式 mvc
  • php set_time_limit
  • PHP:mcrypt_module_open()的用法_Mcrypt函数
  • php gtk
  • php使用oci8扩展连接oracle
  • 转让旧固定资产怎么做账
  • 没进项可以开专票吗
  • php获取浏览器ua
  • vue3的unplugin-auto-import自动引入
  • 表单验证方法一般有哪几种
  • 清算汇缴报表填什么内容
  • 代理费与代理运费的区别
  • 汽车租赁业务是否属于租赁服务
  • 合伙结算转借款
  • 小企业会计准则和企业会计准则的区别
  • 补充医疗保险属于什么
  • 筹建期工会经费怎么算
  • python 复选框怎么设置
  • 业务员奖金
  • 股权转让受让方委托书
  • 科技经费使用
  • 银行代发工资必须是本行的卡吗
  • sqlserver阻止保存要求重新
  • 优先股和普通股风险哪个大
  • 公司注销前账务怎么处理好
  • 银行开的手续费发票开错了
  • 补充医疗险要放多少钱
  • 房地产企业收入确认条件税法
  • 施工企业应收账款周转率多少合适
  • sqlserver存储过程if语句
  • mysql5.7.19 winx64安装配置方法图文教程(win10)
  • windowsserver2008r2standard激活
  • 电脑bios找不到硬盘怎么办
  • windows Server 2008配置IE使用代理操作步骤
  • linux命令find用法
  • ubuntu系统电脑开机键盘亮 屏幕不亮
  • init systemd
  • windows8应用商店用不了
  • 3ds怎么用3ds格式
  • 批处理文件.bat
  • shell脚本显示进度条
  • unity3d操作
  • 怎么监控键盘输入
  • javascript 自动执行
  • Python中使用装饰器来优化尾递归的示例
  • 出口企业能否更换法人
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设