Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
216 views
in Technique[技术] by (71.8m points)

Linux下的线程与进程问题

linux下面线程也是被看做进程的。那么我的很疑惑,比如机器只有一个cpu,我的一个进程a里面有两个线程分别叫1和2,那么是不是无论这两个线程谁在占用cpu,在操作系统看来都是进程a在执行?还是在操作系统看来是两个进程在执行,一个是进程1一个是进程2?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

在操作系统看来就是1个进程(a)在执行。

一个进程开2个线程,则该进程最多能跑满2个核:

  • 如果机器只有1个核,那么2个线程就是共用这个核,用top命令可以看到该进程的CPU使用率最多只能跑到100%;
  • 如果机器有2个核,该进程的CPU使用率最多可以跑到200%;
  • 如果机器有3个核,该进程的CPU使用率最多也只能跑到200%了,不可能跑到300%。

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...