• 全部
  • 经验案例
  • 典型配置
  • 技术公告
  • FAQ
  • 漏洞说明
  • 全部
  • 全部
  • 大数据引擎
  • 知了引擎
产品线
搜索
取消
案例类型
发布者
是否解决
是否官方
时间
搜索引擎
匹配模式
高级搜索

Linux系统中 进程 、线程 、时间片的关系?

2022-10-15提问
  • 0关注
  • 0收藏,1969浏览
粉丝:0人 关注:0人

问题描述:

在Linux系统中,对于用户创建的进程(线程)来说,CPU分配时间片的单位是线程还是进程?

if(CPU分配时间片的单位是线程):

1.这是不是就意味着尽量使用多线程并发,这样可以抢到更多的时间片。

2.操作系统对于拥有多线程的进程,是否会减少其每个线程的时间片,

或做其他处理来保证公平性?

else:

1.这是不是表明我们应该合理分配线程。在一个进程中的多个线程要注

意在可能的情况下将本线程阻塞,将剩余的时间片让给兄弟线程。

2.程序尽量将任务交给多个子进程,以获得更多的时间片来执行整个程序?


组网及组网描述:


最佳答案

Dieu 九段
粉丝:19人 关注:0人

作者:知乎用户
链接:https://www.zhihu.com/question/64723752/answer/223613245
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

在Linux系统中,对于用户创建的进程(线程)来说,CPU分配时间片的单位是线程还是进程?

是线程。线程是实际工作的单元[1],进程只是一个容器,用来管理一个或多个线程。

1.这是不是就意味着尽量使用多线程并发,这样可以抢到更多的时间片。

理论上是的,多线程的一种用途就是能同时做好几件事情,以提高效率。但实际问题是,CPU的数量(核心数,下同)是有限的,而且并不多。如果你的CPU有8个CPU,并且整个系统中有8个线程的话,不考虑中断等因素,每个线程理论上能一直执行下去。然而多于8个线程以后,操作系统就必须进行调度,也就是分配时间片。具体的分配方案,或者说调度算法有很多种,详情参见Scheduling (computing)。如果一个进程创建了很多线程的话,最多也只有8个能够处于执行的状态[2],其余的线程必须等待调度。线程被调度的时候需要进行上下文切换,这个操作是一种额外的开销。线程数量过多的时候,上下文切换产生的额外开销会对系统的效率造成负面影响。

2.操作系统对于拥有多线程的进程,是否会减少其每个线程的时间片,或做其他处理来保证公平性?

这就是调度算法需要考虑和优化的问题。比如线程和进程有优先级,在抢占式的调度中,优先级高的线程可以从优先级低的线程那里抢占CPU。另外,在多CPU平台上,调度算法还要考虑缓存的关联性等。

在一个进程中的多个线程要注意在可能的情况下将本线程阻塞,将剩余的时间片让给兄弟线程。

在主流的操作系统实现里,一般进程是不能直接控制自己的线程的执行顺序的。也就是说,把一个线程挂起并不能保证另一个线程一定能够被执行。

暂无评论

1 个回答
粉丝:0人 关注:0人

在Linux上,进程和线程都被看成是“任务”,无论是进程还是线程,都在栈中有自己独立的task_struct数据结构。其中最重要的用来保存任务信息的是thread_union数据结构,其低地址存放当前进程/线程信息,高地址存放内核栈。因此,从内核角度来看,进程线程都是任务,线程也是进程。从这个角度来理解就是:在Linux下区分线程进程的区别/关系主要是看父子进程资源共享程度,线程只是进程间资源共享(通信)的一种手段而已。

学习可关注:人工智能技术与咨询,更多详情可咨询175-3102-1189,或到我司官网了解:***.***/

联系人:申老师;qq群:189696007;手机:17531021189(v同号)。


暂无评论

编辑答案

你正在编辑答案

如果你要对问题或其他回答进行点评或询问,请使用评论功能。

分享扩散:

提出建议

    +

亲~登录后才可以操作哦!

确定

亲~检测到您登陆的账号未在http://hclhub.h3c.com进行注册

注册后可访问此模块

跳转hclhub

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作

举报

×

侵犯我的权益 >
对根叔社区有害的内容 >
辱骂、歧视、挑衅等(不友善)

侵犯我的权益

×

泄露了我的隐私 >
侵犯了我企业的权益 >
抄袭了我的内容 >
诽谤我 >
辱骂、歧视、挑衅等(不友善)
骚扰我

泄露了我的隐私

×

您好,当您发现根叔知了上有泄漏您隐私的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您认为哪些内容泄露了您的隐私?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)

侵犯了我企业的权益

×

您好,当您发现根叔知了上有关于您企业的造谣与诽谤、商业侵权等内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到 pub.zhiliao@h3c.com 邮箱,我们会在审核后尽快给您答复。
  • 1. 您举报的内容是什么?(请在邮件中列出您举报的内容和链接地址)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
  • 3. 是哪家企业?(营业执照,单位登记证明等证件)
  • 4. 您与该企业的关系是?(您是企业法人或被授权人,需提供企业委托授权书)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

抄袭了我的内容

×

原文链接或出处

诽谤我

×

您好,当您发现根叔知了上有诽谤您的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您举报的内容以及侵犯了您什么权益?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔社区有害的内容

×

垃圾广告信息
色情、暴力、血腥等违反法律法规的内容
政治敏感
不规范转载 >
辱骂、歧视、挑衅等(不友善)
骚扰我
诱导投票

不规范转载

×

举报说明