进程和线程的定义
进程也就是可以理解成:一个运行起来的程序。
而线程:一个进程执行中每个任务就是一个线程。
进程 ----> 资源分配的最小单位。
线程 ----> 进程调度的最小单位。
两者之间的联系/区别
一个线程只能属于一个进程,而一个进程下可以有多个线程。多线程处理的定义就是允许一个进程中在同一时刻执行多个任务。
线程是一种轻量级的进程,线程拥有独立的堆栈空间,但是共享数据段,它们彼此之间使用相同的地址空间,共享大部分数据,比进程更节俭,开销比较小,切换速度也比进程快,效率高。
对比的我们可以发现进程之间有独立的堆栈空间,相互独立,所以拥有更高的安全性。一个线程的奔溃会导致整个进程的奔溃,而一个进程的奔溃不会对其他进程有影响。
相同点:
进程和线程都有ID/寄存器组、状态和优先权、信息块,创建后都可更改自己的属性,都可与父进程共享资源、都不鞥直接访问其他无关进程或线程的资源。