• 【OS】线程


    线程的概念和特点

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

    线程的引入

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

    进程的局限性

    进程的属性

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

    进程的局限性

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

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

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

    线程与进程的联系区别

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

    线程的特点

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

    线程的状态

    执行、就绪、阻塞

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

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

  • 相关阅读:
    RabbitMQ消息可靠性保证机制--发送端确认
    ▶《强化学习的数学原理》(2024春)_西湖大学赵世钰 Ch2 贝尔曼公式
    1. Android逆向-Frida环境搭建
    都是星光赶路人
    OpenCV的简单抠图尝试(白色背景的图片)
    使用PowerShell脚本来一键开启、关闭FTP服务
    网络安全等级保护测评
    自动化学报格式 Overleaf 在线使用 【2023最新教程】
    北航计算机软件技术基础课程作业&笔记【5】
    Wireshark 通过 nrf-sniffer for BLE 抓包环境配置说明
  • 原文地址:https://blog.csdn.net/misakisaigao/article/details/127680310