多线程(1)——多线程基础

1.多线程和进程的区别

  1. 进程是程序执行的基本单位,线程是运算的最小单位。
  2. 每建立一个进程系统会给它分配独立的地址空间,而线程共用一个相同的地址空间。
  3. 因为每一个进程有独立的地址空间所以,进程有较高的安全性。一个进程的崩溃不会影响其他进程。而一个线程死掉就等于全部进程死掉。

下面是我在《Java高并发程序设计》——葛一鸣著 中看到的一个例子,有助于理解线程和进程的区别。
简单地说进程是一个容器。比如一件漂亮的小别墅。别墅里有电视、厨房、洗手间等(进程占有的资源)。当一家三口住在一起时(相当于三个线程),有时候可能会有些小冲突,比如,当女儿要看动画片时,爸爸就不能看体育频道了(相当于线程间资源竞争),当然大部分时间线程间还是协作关系,比如妈妈在厨房为爸爸和女儿做饭,爸爸在书房工作赚钱养家糊口,女儿在写作业,大家就其乐融融了。此时这个进程也就在健康的执行。
2.多线程的状态
这里写图片描述

猜你喜欢

转载自blog.csdn.net/qq_41706670/article/details/82631310
今日推荐