位置: 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电脑色彩设置)

  • 微博营销:论明星与微博的那些事儿(微博营销的经典案例)

    微博营销:论明星与微博的那些事儿(微博营销的经典案例)

  • 华为怎么剪辑视频长短(华为怎么剪辑视频保存视频)

    华为怎么剪辑视频长短(华为怎么剪辑视频保存视频)

  • se有3d touch这个功能吗(iphone se 2020 3dtouch)

    se有3d touch这个功能吗(iphone se 2020 3dtouch)

  • nfc常开有什么弊端(nfc 常开)

    nfc常开有什么弊端(nfc 常开)

  • 商家自行配送怎么完成(商家自行配送怎么查)

    商家自行配送怎么完成(商家自行配送怎么查)

  • 腾讯课堂换取登录态失败什么意思(腾讯课堂换取登录账号)

    腾讯课堂换取登录态失败什么意思(腾讯课堂换取登录账号)

  • 计算机主频的周期是指什么(计算机主频的周期是多少)

    计算机主频的周期是指什么(计算机主频的周期是多少)

  • qq群视频聊天怎么关闭自己的摄像头(qq群视频聊天怎么加入)

    qq群视频聊天怎么关闭自己的摄像头(qq群视频聊天怎么加入)

  • 电信卡已激活但无服务(电信卡已激活但说未实名登记)

    电信卡已激活但无服务(电信卡已激活但说未实名登记)

  • 手机温度过低(手机温度过低无法充电怎么解决啊)

    手机温度过低(手机温度过低无法充电怎么解决啊)

  • 微信运动占领封面是什么意思(微信运动占领封面图片怎么设置)

    微信运动占领封面是什么意思(微信运动占领封面图片怎么设置)

  • win10无限准备windows(电脑无限准备配置)

    win10无限准备windows(电脑无限准备配置)

  • 华为nova5pro缺点是(华为nova5pro的优点和缺点)

    华为nova5pro缺点是(华为nova5pro的优点和缺点)

  • soul能通过手机号找人吗(soul可以用电话号码查找吗)

    soul能通过手机号找人吗(soul可以用电话号码查找吗)

  • 闲鱼可以看到访客吗(闲鱼有访问记录吗)

    闲鱼可以看到访客吗(闲鱼有访问记录吗)

  • 计算机多媒体技术是指(计算机多媒体技术属于什么类)

    计算机多媒体技术是指(计算机多媒体技术属于什么类)

  • qq显示忙碌是什么意思(qq忙碌是啥意思)

    qq显示忙碌是什么意思(qq忙碌是啥意思)

  • ios12测试版能降级吗(ios12测试版下载)

    ios12测试版能降级吗(ios12测试版下载)

  • ipad电子邮件在哪里找(ipad电子邮件格式怎么写)

    ipad电子邮件在哪里找(ipad电子邮件格式怎么写)

  • 华为watch gt2能打电话吗(华为watch gt 2e可以打电话吗)

    华为watch gt2能打电话吗(华为watch gt 2e可以打电话吗)

  • 拼多多拒收会退款吗(拼多多拒收退回怎么处理)

    拼多多拒收会退款吗(拼多多拒收退回怎么处理)

  • 淘宝上拒绝签收点哪里(淘宝上拒绝签收怎么操作)

    淘宝上拒绝签收点哪里(淘宝上拒绝签收怎么操作)

  • 苹果7p的耳机怎样使用(苹果7p的耳机怎么用)

    苹果7p的耳机怎样使用(苹果7p的耳机怎么用)

  • 爱奇艺会员如何取消自动续费(爱奇艺会员如何在电视上使用)

    爱奇艺会员如何取消自动续费(爱奇艺会员如何在电视上使用)

  • 手机号异常是怎么恢复(手机号异常是怎么回事)

    手机号异常是怎么恢复(手机号异常是怎么回事)

  • 微信视频怎么开美颜相机(微信视频怎么开启悬浮窗口)

    微信视频怎么开美颜相机(微信视频怎么开启悬浮窗口)

  • RuntimeError: (PreconditionNotMet) The third-party dynamic library (cudnn64_7.dll) that Paddle depen

    RuntimeError: (PreconditionNotMet) The third-party dynamic library (cudnn64_7.dll) that Paddle depen

  • Python深浅拷贝是什么(python深拷贝与浅拷贝区别)

    Python深浅拷贝是什么(python深拷贝与浅拷贝区别)

  • 进口报关商品的完税价格包含运费吗
  • 电商行业会计核算的特点
  • 转租仓库交增值税吗
  • 非盈利组织企业所得税主表如何填列
  • 公司的货款直接到账吗
  • 增值税改革后增值税申报表怎么填写
  • 个税返还需要缴纳所得税吗
  • 房产税和城镇土地使用税的区别
  • 购买工业用地税费
  • 收到政府补助需要缴纳企业所得税吗
  • 增值税普通发票需要交税吗
  • 出口报关单上的运费和保费和实际不一致
  • 会计速动比率怎么算
  • 一个工程项目多次收款怎样预交增值税
  • 分期付款方式购物划算吗
  • 出售固定资产要做收入吗
  • 0申报的清算所得税申报表怎么填
  • 税务局代增值税专用发票盖什么章
  • 出口退税管理系统怎么登录
  • 契税和印花税入哪个科目
  • 股利分配政策的研究背景
  • 加盟费需要缴纳多少税
  • 预提费用和应付利息一样吗
  • 出口货物免抵退税额确认会计分录
  • 出口0税率是免抵退还是免税
  • 企业工会经费计提比例
  • 公司帮员工代缴社保有风险吗
  • 企业税计算方法
  • 小规模纳税人销售使用过的固定资产
  • 交纳印花税
  • 应付账款讲解
  • PHP:JDToJulian()的用法_日历函数
  • 增值税减免税的征管规定有哪些
  • 为什么法律不允许安乐死
  • php是面向过程还是面向对象
  • 材料成本差异属于流动资产吗
  • 视图的定义和操作实验报告
  • 微信小程序网页版
  • 前端工程化解决方案
  • golang和php
  • 累计折旧怎么折
  • 用vue做的企业项目
  • 资产管理公司的监管部门是谁
  • 经营结余是指事业单位在本年度经营活动
  • 哪些所得需要去税务登记
  • 固定资产直接记入费用科目
  • 企业所得税研发费用加计扣除例题
  • 公司出售二手车要交哪些税
  • 其他收益会计科目解释
  • 未开票收入怎么申报增值税
  • 所得税弥补以前年度亏损是几年
  • 日本发票国内能用吗
  • 跨年跨月发票账务处理
  • 筹建期的财务费怎么算
  • 收到固定资产发票怎么入账
  • 农民工工资专户怎么发放工资
  • 预缴的税款抵扣有时间限制吗
  • 保险公司的返点能要吗
  • centos failed to start login service
  • 在windows中下列叙述正确的有
  • xp系统蓝屏解决
  • ubuntu开机黑屏无法进入登录界面
  • mac如何强制退出微信
  • azipmd5.exe是什么
  • win7的开始菜单在哪里
  • 电脑一直显示windowsxp怎么办
  • linux怎样过滤一个关键字
  • linux本地解析
  • win7电脑无限蓝屏怎么解决
  • 安卓listview的用法
  • opengl控件库
  • android应用程序的主要语言是java
  • dos cat命令
  • 使用div+css进行网页布局的三种方式
  • QOpenGLWindow 、QOpenGLWidget 和 QPainter混合渲染方法初探
  • easyui加载数据慢
  • jquery 动态添加元素
  • 税务机关的情况说明
  • 福建税务局网上办税
  • 小组长的职责及职责
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设