- 主题:Linux的任务调度,进程和线程有区别吗?
没人说清楚啊
--
FROM 114.221.47.*
linux线程也叫轻量级进程lwp,这个是调度的基本单位。
一个多线程程序就是多个共享地址空间的轻量级进程组成的。
理论上调度器工作时也可以考虑整个进程包含的使用的所有线程的总时间,这个就需要具体看调度器的实现了。
【 在 wjhtingerx 的大作中提到: 】
: 那就是说,linux任务调度,只有线程,没有进程?
:
: :
--
修改:martinjspace FROM 111.193.211.*
FROM 111.193.211.*
我想知道的就是Linux这块具体怎么实现的了?
【 在 martinjspace 的大作中提到: 】
: linux线程也叫轻量级进程lwp,这个是调度的基本单位。
: 一个多线程程序就是多个共享地址空间的轻量级进程组成的。
: 理论上调度器工作时也可以考虑整个进程包含的使用的所有线程的总时间,这个就需要具体看调度器的实现了。
: ...................
--
FROM 45.78.10.*
Linux内核的调度策略还可以设置可以调整呢。要完整掌握,看书看代码了,BBS上解决不了。
要简单的说A 100个计算线程满负荷,B 1个计算线程满负荷,A总共拿到的运行时间肯定多啊
【 在 wjhtingerx 的大作中提到: 】
: 我想知道的就是Linux这块具体怎么实现的了?
:
--
FROM 111.199.189.*
A为啥肯定多?
【 在 typo 的大作中提到: 】
: Linux内核的调度策略还可以设置可以调整呢。要完整掌握,看书看代码了,BBS上解决不了。
: 要简单的说A 100个计算线程满负荷,B 1个计算线程满负荷,A总共拿到的运行时间肯定多啊
:
--
FROM 223.104.38.*
能获得的时间是多方面因素决定的,调度策略,cgroup,带宽控制
调度的基本单位是线程,线程可理解是共享内存空间的进程
A进程的所有线程和B进程的所有线程如果有相同的配置(优先级,调度策略,cgroup分组等),线程任务也是类似的(io cpu相当),假使都是cfs调度的话,那每个线程分到的时间是差不多的
但这显然太理想了,看看安卓就知道,一个前台应用必然比后台运行的拿到的资源多,主要还是cgroup起的作用
- 来自 水木社区APP v3.5.4
【 在 wjhtingerx 的大作中提到: 】
假设A进程有100个线程,B进程有1个线程。那么系统调度看待这101个线程是完全平等的吗?这样的话,进程多建线程,岂不是
- 来自 水木社区APP v3.5.4
--
FROM 111.206.214.47
你试一下不就知道了吗
【 在 wjhtingerx 的大作中提到: 】
: A为啥肯定多?
: :
--
FROM 111.199.189.*
清楚了,Linux调度就是以线程为基础,并未对进程做相关约束。
【 在 wangstone123 的大作中提到: 】
: 能获得的时间是多方面因素决定的,调度策略,cgroup,带宽控制
: 调度的基本单位是线程,线程可理解是共享内存空间的进程
: A进程的所有线程和B进程的所有线程如果有相同的配置(优先级,调度策略,cgroup分组等),线程任务也是类似的(io cpu相当),假使都是cfs调度的话,那每个线程分到的时间是差不多的
: ...................
--
FROM 45.78.10.*
并不是每个基本单位都肯定是同样权重的
【 在 wjhtingerx 的大作中提到: 】
: 清楚了,Linux调度就是以线程为基础,并未对进程做相关约束。
:
--
FROM 13.56.31.*
如果是多核CPU,B只能用一核,而A可以用多核,A多
如果资源足够,A肯定多,因为可以按需分配
如果资源不够,那就是抢了;一没其它限制的话,A抢到的多
【 在 wjhtingerx 的大作中提到: 】
: A为啥肯定多?
: :
--
FROM 13.56.31.*