码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【OS】线程


    线程的概念和特点

    学前自问:什么是线程?为什么要引入线程?

    线程的引入

    在OS中引入进程的目的是为了使多个程序能并发执行,以提高资源利用率。
    在OS中引入线程是为了减少程序在并发执行时所付出的时空开销,使OS具有更好的并发性。

    进程的局限性

    进程的属性

    1.进程是一个可拥有资源的独立单位。
    2.进程是一个可独立调度和分派的基本单位。

    进程的局限性

    各个进程的内存地址空间相互独立,只能通过请求操作系统内核的帮助来完成进程间的通信。
    由于进程是一个资源的拥有者,因而在创建、撤销和切换中,OS必须要为之付出较大的时空开销,这就限制了系统中所设置进程的数目,而且进程切换也不宜过于频繁,从而限制了并发程度的进一步提高。
    进程间通信必须请求操作系统服务,开销大。
    而同进程下的线程间通信,无需操作系统干预,开销更小。

    线程–作为调度和分派的基本单位

    线程是进程中的一个执行单位,负责当前进程中程序的执行,一个进程中至少有一个线程。
    线程又被称为轻型进程或进程元。
    引入线程机制后,并发带来的系统开销降低,系统并发性提高。

    线程与进程的联系区别

    同一进程下的各个线程共享内存地址空间,可直接读/写内存空间进行通信,无需操作系统干预,线程间通信开销小。
    同一进程的各线程间并发不需切换进程运行环境和内存地址空间。
    从属于同一进程的各个线程共享进程拥有的资源。
    从属于不同进程的线程间通信,也需要操作系统干预。

    线程的特点

    • 线程是处理机调度和分派的单位,进程是资源分配的单位。
    • 同一进程的各个线程共享进程拥有的资源
    • 同一进程内的线程切换不会导致进程切换
    • 引入线程后,进程是资源分配的基本单位,而线程几乎不拥有资源,只拥有极少量的资源(线程控制块TCB、寄存器信息、堆栈等)
    • 线程不占有内存空间,它包括在进程的内存空间中。

    线程的状态

    执行、就绪、阻塞

    回答什么是线程?为什么要引入线程

    什么是线程:轻量级进程,是操作系统进行调度的最小单位。
    为什么要引入线程:线程可以提高系统的并发性。

  • 相关阅读:
    UE4运用C++和框架开发坦克大战教程笔记(十九)(第58~60集)完结
    IDM(Internet Download Manager)下载器2024最新版本如何下载?
    【毕业设计】29-交流电机步_进电机的转速测量与控制系统设计(原理图、仿真、源代码、答辩论文、答辩PPT)
    【业务安全-04】万能用户名及万能密码实验
    【SA8295P 源码分析 (四)】27 - QNX Ethernet MAC 驱动 之 emac_tx_thread_handler 数据发送线程 源码分析
    什么是响应式设计?响应式设计的基本原理是什么?如何兼容低版本的 IE?
    【计算机视觉 | 图像模型】常见的计算机视觉 image model(CNNs & Transformers) 的介绍合集(六)
    【备忘】navicat mysql导入导出小经验
    【多卡训练报错】:The server socket has failed to listen on any local network address.
    AVL树的底层实现
  • 原文地址:https://blog.csdn.net/misakisaigao/article/details/127680310
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号