cpu的基本时间单位是什么

cpu的基本时间单位是线程。线程(thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。

cpu的基本时间单位是什么-Worktile社区

一、线程简介

cpu的基本时间单位是线程。线程(thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。在Unix System V及SunOS中也被称为轻量进程(lightweight processes),但轻量进程更多指内核线程(kernel thread),而把用户线程(user thread)称为线程。

线程是独立调度和分派的基本单位。线程可以为操作系统内核调度的内核线程,如Win32线程;由用户进程自行调度的用户线程,如Linux平台的POSIX Thread;或者由内核与用户进程,如Windows 7的线程,进行混合调度。同一进程中的多条线程将共享该进程中的全部系统资源,如虚拟地址空间,文件描述符和信号处理等等。但同一进程中的多个线程有各自的调用栈(call stack),自己的寄存器环境(register context),自己的线程本地存储(thread-local storage)。

一个进程可以有很多线程,每条线程并行执行不同的任务。在多核或多CPU,或支持Hyper-threading的CPU上使用多线程程序设计的好处是显而易见,即提高了程序的执行吞吐率。在单CPU单核的计算机上,使用多线程技术,也可以把进程中负责I/O处理、人机交互而常被阻塞的部分与密集计算的部分分开来执行,编写专门的workhorse线程执行密集计算,从而提高了程序的执行效率。

二、线程特点

在多线程OS中,通常是在一个进程中包括多个线程,每个线程都是作为利用CPU的基本单位,是花费最小开销的实体。线程具有以下属性:

1、轻型实体

线程中的实体基本上不拥有系统资源,只是有一点必不可少的、能保证独立运行的资源。线程的实体包括程序、数据和TCB。线程是动态概念,它的动态特性由线程控制块TCB(Thread Control Block)描述。TCB包括以下信息:

  • 线程状态。
  • 当线程不运行时,被保存的现场资源。
  • 一组执行堆栈。
  • 存放每个线程的局部变量主存区。
  • 访问同一个进程中的主存和其它资源。

用于指示被执行指令序列的程序计数器、保留局部变量、少数状态参数和返回地址等的一组寄存器和堆栈。

2、独立调度和分派的基本单位

在多线程OS中,线程是能独立运行的基本单位,因而也是独立调度和分派的基本单位。由于线程很“轻”,故线程的切换非常迅速且开销小(在同一进程中的)。

3、可并发执行

在一个进程中的多个线程之间,可以并发执行,甚至允许在一个进程中所有线程都能并发执行;同样,不同进程中的线程也能并发执行,充分利用和发挥了处理机与外围设备并行工作的能力。

4、共享进程资源。

在同一进程中的各个线程,都可以共享该进程所拥有的资源,这首先表现在:所有线程都具有相同的地址空间(进程的地址空间),这意味着,线程可以访问该地址空间的每一个虚地址;此外,还可以访问进程所拥有的已打开文件、定时器、信号量机构等。由于同一个进程内的线程共享内存和文件,所以线程之间互相通信不必调用内核。

三、线程状态

  1. 创建线程:当创建一个新的进程时,也创建一个新的线程,进程中的线程可以在同一进程中创建新的线程。
  2. 终止线程:可以正常终止自己,也可能某个线程执行错误,由其它线程强行终止。终止线程操作主要负责释放线程占有的寄存器和栈。
  3. 阻塞线程:当线程等待每个事件无法运行时,停止其运行。
  4. 唤醒线程:当阻塞线程的事件发生时,将被阻塞的线程状态置为就绪态,将其挂到就绪队列。进程仍然具有与执行相关的状态。例如,所谓进程处于“执行”状态,实际上是指该进程中的某线程正在执行。对进程施加的与进程状态有关的操作,也对其线程起作用。例如,把某个进程挂起时,该进程中的所有线程也都被挂起,激活也是同样。

延伸阅读

线程适用范围

  1. 服务器中的文件管理或通信控制
  2. 前后台处理
  3. 异步处理

文章标题:cpu的基本时间单位是什么,发布者:Z, ZLW,转载请注明出处:https://worktile.com/kb/p/34916

(1)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
Z, ZLWZ, ZLW认证作者
上一篇 2023年1月9日 上午9:21
下一篇 2023年1月9日 上午9:36

相关推荐

  • 项目流程管理包括哪些内容

    项目流程管理包括:一、项目计划;二、项目执行;三、项目监控;四、项目收尾。项目计划是项目流程管理的关键环节,它是项目管理的基础。项目计划的目的是制定出项目实现的时间表、成本预算、质量标准、风险控制计划等。 一、项目计划 项目计划是项目流程管理的关键环节,它是项目管理的基础。项目计划的目的是制定出项目…

    2023年4月30日
    31500
  • 制造项目管理系统

    概述:制造项目管理系统是关键的工业工具,用于提高效率、保障制造流程的顺畅以及优化资源分配。本文将全方位探讨该系统的功能、组成、实施步骤与相关技术。 项目管理系统在制造业扮演着至关重要的角色。这些系统通过提供一个结构化的框架来帮助组织有效地规划、监控以及控制项目相关的各个方面。功能性、组成结构、实施方…

    2024年1月9日
    23200
  • 排班管理系统设计

    标题:排班管理系统设计 排班管理系统设计聚焦提升效率、弹性与员工满意度。针对不同组织需求,1、实现自动化排班,减少人工干预;2、灵活适应不同工作模式,如远程与现场结合;3、促进公平透明的班次分配,增强员工工作满意度;4、集成假期与缺勤管理,简化假期审批与记录过程;5、提供全面报告和分析工具,帮助管理…

    2024年1月9日
    41100
  • 为什么为知识库设定反馈机制如此重要

    知识库设定反馈机制如此重要的原因:1、保障信息质量与准确性;2、促进用户参与和社区建设;3、支持持续改进和创新;4、增强用户体验;5、提高适应性和灵活性;6、提升决策支持的质量;7、增加信任和透明度;8、促进个性化和定制化服务;9、加强法规遵从和风险管理;10、提升品牌形象和市场竞争力;11、促进知识共享和协作;12、提升数据驱动决策;13、支持全面的知识管理等等。

    2023年11月28日
    27400
  • 管理系统设计页面

    管理系统设计页面的关键因素包括:用户体验、功能性、安全性、可拓展性、兼容性。用户体验包括简洁的界面和直观的导航。功能性涉及确保所有必要功能易于访问。安全性涉及保护系统免受未授权访问的措施。可拓展性是关于系统能够随着业务增长而增加新功能的能力。兼容性则确保页面能在不同设备和浏览器上稳定工作。在这些核心…

    2024年1月9日
    21800
  • okr的o怎么写

    开展OKR(Objectives and Key Results)时,编写O(Objectives,目标)要直击关键成果,明确指向顶层愿景与个人、团队的发展,范围在120至200字内。目标需具体、挑战性、激励人心。扩展讲解,目标要为达成企业战略服务,体现为可实现、具时间限制的宣言,与个人、团队的进步…

    2024年1月17日
    42400
  • 什么是SecurePatch

    SecurePatch是一种安全软件补丁,用于修复已知的漏洞和弱点,提高计算机系统的安全性。SecurePatch是由全球领先的安全软件公司开发的,旨在保护用户的计算设备和数据免受黑客攻击和恶意软件的侵害。 SecurePatch是一种安全软件补丁,用于修复已知的漏洞和弱点,提高计算机系统的安全性。…

    2023年5月28日
    27300
  • oa系统协同办公系统

    标题:OA系统在协同办公中的关键作用 概述:OA系统在提升协同办公效率、保障数据安全、降低成本、促进远程工作、整合资源,在提升组织绩效方面起到了至关重要的作用。特别是在促进远程工作方面,OA系统实现了工作界面与数据的无缝对接,使得员工能够在任何地点进行有效工作。 办公自动化(OA)系统,作为一种协同…

    2024年1月15日
    28700
  • 为什么vscode这么难用

    VS Code(Visual Studio Code)对一些用户来感到难用的原因主要包括:界面复杂、扩展众多、高度自定义性、学习曲线陡峭。界面复杂是很多初学者面临的主要难点。VS Code是一个强大的编辑器,它提供了许多高级功能,如内置Git支持、智能代码补全、代码调试等。这些丰富的功能导致了它的界…

    2024年4月3日
    8300
  • Scrum工具Leangoo免费版和企业版的区别是什么

    Scrum工具Leangoo免费版和企业版的区别是:1、用户数量限制;2、功能模块;3、数据存储和备份;4、技术支持和培训;5、定制化和扩展性。Leangoo免费版通常限制团队成员数量较少,可能适用于小型团队或个人项目管理。Leangoo企业版通常没有用户数量限制。 一、用户数量限制 免费版:Lea…

    2023年7月30日
    34300

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部