No1.线程与进程的区别,一个线程的完成的生命周期。

简单的说,进程是一个容器。比如一间漂亮的小别墅。别墅里有厨房、书房、洗手间等。当然,还有一家三口住在里面,当妈妈带女儿外出游玩时,爸爸一个人在家。这时爸爸一个人在家里爱上哪里去哪里,爱干嘛干嘛,这时,爸爸就想一个线程(这个进程中只有一个活动的线程),小别墅就像一个进程,家里的电视、厨房、书房就像这个进程占有的资源。当到三个人住一起时(相当于三个线程),有时候可能就有些小冲突,比如,当女儿占着电视机看动画片时,爸爸就不能看体育频道了,这就是线程间的资源竞争。当然,大部分时候,线程间还是协作关系(如果我们创建线程是用来打架的,那创建它干嘛?)。比如,妈妈在厨房为爸爸和女儿做饭,爸爸在书房工作赚钱养家糊口,女儿在写作业,各司其职,那么这个家就是其乐融融了,相对的,这个进程也就在健康的执行。
用稍微专业点的术语说,线程就是轻量级进程,是程序执行的最小单位。使用多线程而不是用多进程去进行并发程序的设计,是因为线程间的切换和调度的成本远远小于进程。
接下来让我们来看看一个线程的生命周期:

猜你喜欢

转载自blog.csdn.net/shasiqq/article/details/53785318