|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 thinkfunny 于 2019-9-23 14:06 编辑
* r: r# K9 f$ w9 F; m: d1 D- @3 ^" }, ?* N- H! k }
Linux下多任务介绍: J8 p1 i, N2 }. x2 l
/ [8 v, y! R4 C8 S3 k& e3 _$ l! @
首先,先简单的介绍一下什么叫多任务系统?任务、进程、线程分别是什么?它们之间的区别是什么?,从而可以宏观的了解一下这三者,然后再针对每一个仔细的讲解。
: ]7 c# e) l" z1 ^8 h- v1 [- N- c+ _7 A) W- \
什么叫多任务系统?多任务系统指可以同一时间内运行多个应用程序,每个应用程序被称作一个任务。* X$ z& B) m& e& x7 n2 C3 z
* |! Z# Y" h/ S$ z! t0 Z0 p+ Y8 ^' h/ e 任务定义:任务是一个逻辑概念,指由一个软件完成的任务,或者是一系列共同达到某一目的的操作。% d! c/ k6 K* E- j4 G5 I
, `0 Q9 C. _: |8 Y" H$ b9 w! ?
进程定义:进程是指一个具有独立功能的程序在某个数据集上的一次动态执行过程,它是系统进行资源分配和调度的最小单元。
+ o& L a/ O! u
8 W& n" `( J; p) I& b* e7 E 线程定义:线程是进程内独立的一条运行路线,是处理器调度的最小单元,也可以成为轻量级进程。6 z* f* z# K, E. Z, f9 `. N% M+ W
* Y2 ?/ B: y& U% w1 S 看了定义,有点晕,还是通俗的说一下它们的区别吧。①通常一个任务是一个程序的一次执行,一个任务包含一个或多个完成独立功能的子任务,这个独立的子任务就是进程或线程。②一个进程可以拥有多个线程,每个线程必须有一个父进程。/ I0 A+ r5 w0 r! ?* I
g3 q) D' J8 m3 B6 t任务8 Q! }% _" _% S. N) y
, `% k; a% h M) q& O1 y5 j 任务是一个逻辑概念,指由一个软件完成的任务,或者是一系列共同达到某一目的的操作。通常一个任务是一个程序的一次执行,一个任务包含一个或多个完成独立功能的子任务,这个独立的子任务就是进程或线程。例如,一个杀毒软件的一次运行是一个任务,目的是从各种病毒的侵害中保护计算机系统,这个任务包含多个独立功能的子任务(进程或线程),包括实时监控功能、定时查杀功能、防火墙功能及用户交互功能等。任务、进程和线程之间的关系如图1所示7 U# r% A( i7 h) I" S( O+ Z9 k
; V& J, d- M, v; ]$ y6 F* N6 _: e; `0 f3 R9 V6 p- J2 \: g p, B
0 f& v+ e5 R: I3 L6 L& E* d( z
1 Y# F7 w4 M5 u
% x9 H& u- ^. h; f3 r
. e3 e7 R8 W# o- }# n/ t) ?$ v |
|