关于线程与进程的概念,我们可以使用集合的角度来理解,如果说一个计算机的所有程序运行量是个总集,那么,这个总集就是由所有的进程进行总和的,比如我们打开我们的任务管理,就可以看到下面的截图所示:
线程与进程的关系
电脑同时就在进行着200个进程
1.线程与进程概念
线程: 每个进程中至少包含一个线程,而这些线程都在共享进程的资源空间等,当线程发生变化的时候只会引起CPU执行的过程发生变化,不会改变进程所拥有的资源。同理一个程序中至少包含一个进程。进程中执行运算的最小单位,亦是执行处理机调度的基本单位
进程: 每个进程都有自己的地址空间,资源如,内存,I/O,CPU,同一个进程里的 线程共享本进程里的地址空间,那能不能使用别人家进程的地址空间呢,显然这是不可以的。由于进程的独立性,当某一个进程崩溃之后,在保护模式下不会对别的进程进行影响。资源分配的基本单位,运行调度的基本单位,系统中并发执行的单位。
2.使用区别
当我们对资源的保护管理要求比较高的时候,建议使用多进程,当然存在的开销也会比较大,反过来,如果频繁切换下,对资源的保护管理要求不那么高,或者开销有限,使用多线程会比较方便。
3.两者的比较
(1)调度
同一个进程中,线程的切换不会引起进程的切换;
由一个进程的线程切换到另一个线程的进程时,引起进程的切换。
(2)并发性
进程可以并发执行,而一个进程中的线程也可以并发执行
(3)拥有的资源
一般来说,线程并不会拥有自己的资源,但是它可以访问自己本进程中的资源,比如,一个进程打开的文件等,进程的其他线程是可以共享的。
(4)系统开销
这个跟切换有关,则,下一个可以仔细讲解。
领取专属 10元无门槛券
私享最新 技术干货