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

相关推荐

  • 分布的相似度(距离)用什么模型比较好

    在统计和机器学习中,度量分布之间的相似度或距离是一项基本任务。以下是一些主要方法:1、KL散度;2、Wasserstein距离;3、总变差距离;4、Hellinger距离;5、Jensen-Shannon散度;6、Cosine相似度。其中,KL散度衡量了两个概率分布之间的差异,但它不是一个真正的距离…

    2023年7月23日
    30200
  • 国产什么软件能替代project

    能替代project的国产软件有:1、梦之队;2、亿欧云;3、星际云;4、Teambition;5、任务易。梦之队包括项目管理、任务分配、日历计划、文件共享等功能,还可以与微信、钉钉等办公软件集成,方便团队协作。 一、Project是什么 Microsoft Project是一款功能强大的项目管理软…

    2023年3月3日
    71600
  • 分布式和集群的区别是什么

    分布式和集群的区别是:1、从概念上就可以看出两者最主要的区别就是分布式是将一种业务拆分成多个子业务部署在多台服务器上,而集群就是将多台服务器组合在一起提供同一种服务;2、2、集群强调在多台服务器位置集中,并且容易统一管理。 1、从概念上就可以看出两者最主要的区别就是分布式是将一种业务拆分成多个子业务…

    2023年2月17日
    1.1K00
  • 有哪些知识库平台

    知识库平台有:一、PingCode Wiki;二、Baklib;三、飞书知识库;四、Notion;五、有道云笔记。PingCode Wiki是和腾讯文档、飞书文档等大厂产品一样,做到了实时的意识传递(协同者光标)这一级别的知识库产品。 一、PingCode Wiki PingCode Wiki是和腾…

    2023年4月30日
    16200
  • 会议营销策略有哪些

    会议营销策略有:1、创建一个引人注目的会议网站;2、创建引人入胜且内容丰富的博客和视频;3、与行业专业人士合作;4、在会议上提供互动体验等。创建一个引人注目的会议网站是指,创建一个网站,清楚地概述活动细节、演讲者、日程安排和地点。 1、创建一个引人注目的会议网站 为您的会议吸引注意力的优异方法是创建…

    2023年1月5日
    27200
  • 飞书有什么好的缺陷管理工具

    飞书提供了一种集成的缺陷管理工具,名为“工单”。工单是飞书内部的缺陷管理和问题跟踪工具,可用于管理团队的各种需求、异常、问题和反馈等。通过工单,用户可以收集并跟踪团队中的问题或缺陷,以便快速响应并解决相应的问题。 一、飞书的缺陷管理工具 飞书提供了一种集成的缺陷管理工具,名为“工单”。其操作流程为:…

    2023年4月7日
    1.1K00
  • C语言中printf函数里转义字符“\\”存在的意义

    反斜杠 \ 是C语言中一个非常重要的转义字符,它的存在使得我们可以方便地在输出中使用各种特殊符号,同时也可以用于转义一些特殊的字符。在C语言中,理解并熟练掌握反斜杠 \ 的用法是非常重要的。 在C语言中,printf函数是非常常用的一个输出函数。我们可以使用printf函数在控制台输出各种各样的信息…

    2023年2月28日
    63100
  • APP与小程序有什么区别

    APP与小程序的主要区别包括:1.部署方式不同;2.使用门槛与便捷性;3.功能权限与复杂度;4.更新与维护;5.用户获取与推广;6.开发成本与时间;7.数据与安全性。其中,最显著的区别是部署方式与使用便捷性:APP需要用户下载安装,而小程序通过各大社交平台可以即点即用。 1.部署方式不同 APP是一…

    2023年7月16日
    8400
  • SQL Sever 语句大小写有什么约定规范吗

    SQLServer对大小写没有要求,从系统可读性上建议制定一些规则,例如:公共表、系统模块表命名:模块代码(首字母大字)+‘_’+具体名称(每个单词首字母大字)。规范要求并非强制性约束的代码编写行为,也不影响实际查询结果,但结构化清晰有利于排查问题。 SQLServer对大小写没有要求,从系统可读性…

    2023年5月30日
    6500
  • 请问敏捷开发和迭代式开发的根本区别是什么

    敏捷开发和迭代式开发的根本区别在于:1、性质不同;2、开发方法模型不同;3、对需求要求不同。性质不同是指迭代开发是软件开发的生命周期模型,是一种开发过程;敏捷开发是多种软件开发项目管理方法的集合,是一种开发方法。这是两者最根本的区别。 1、性质不同 迭代开发是软件开发的生命周期模型,是一种开发过程;…

    2023年1月9日
    70900

发表回复

登录后才能评论
站长微信
站长微信
电话联系

400-800-1024

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

分享本页
返回顶部