进程、线程是什么?它们的区别

进程、线程是什么?它们的区别

进程:

程序并不能单独运行,必须装载到内存中,系统为其分配资源后才能执行,而这种执行的程序就叫做进程。进程也是系统资源分配的基本单位

线程:

线程是CPU分配和调度的基本单位,比进程更小的能独立运行的基本单位,一个进程中可以有多个线程,它们可以并发执行,共享进程中的资源。


区别:

进程和程序:
程序是指令的集合,它是进程运行的静态描述文本,而进程是程序的一次执行过程,是动态的。

进程和线程
1.资源:
线程基本上不拥有系统资源,只有一点运行时必不可少的资源(如程序计数器、栈),但可以与同一进程中的其他线程共享进程的资源。
2.崩溃后的影响:
进程拥有独立的地址空间,当一个进程崩溃后不会对其他进程造成影响;而当一个线程挂起后,由于它没有独立地址空间,整个进程可能会一起挂起。
3.开销:
每次创建或销毁进程,系统都要分配或回收资源,开销远大于创建或销毁线程的开销。

进程的缺点:(有了进程为啥还要线程?)

1.进程同一时间只能做一件事,如果想要并行是不行的;
2.进程一旦被阻塞,整个进程都会挂起

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » 进程、线程是什么?它们的区别