前言
线程是进程的一个分支,一个进程至少有一个线程,多个线程共享一个进程的资源
一、进程是什么?
进程是操作系统资源分配的基本单位
1. 进程依赖于程序的运行而存在,进程是动态的
2.进程是操作系统进行资源分配和调度的一个独立单元
3.每个进程都有自己独立的地址空间,地址空间包括代码区、数据区和堆栈区,进程之间的地址空 间是相互隔离的,互不影响
二、线程是什么?
线程是操作系统资源调度的基本单位
三、进程与线程之间的联系
进程在我们的计算机中,通俗来讲就是我们运行起来的程序,而一个进程中可以有一个线程和多个线程
举一个简单的栗子
PS1:有一个滑稽老铁在一个房间一人在吃100只鸡,那么我们如何提升吃鸡的效率呢?
PS2:现在我们有两个房间,就相当于创建了两个进程,安排两个滑稽老铁进行吃鸡,每人吃50只鸡,吃鸡的效率是提高了,但是此方式吃鸡的开销比较大
PS3:现在我们只有一个房间,安排两个滑稽老铁进行吃50只鸡,就相当于创建了两个线程,那么吃鸡的效率就大大提升了,并且此方式吃鸡的开销就小很多啦。
四、进程和线程的区别
1、进程包含线程,一个进程里可以有一个或者多个线程
2、进程有自己独立的内存空间和文件描述符,同一个进程中的多个线程之间共享同一份地址空间和文件描述符
3、进程是操作系统资源分配的基本单位,线程是操作系统调度执行的基本单位
4、进程之间具有隔离性,一个进程挂了不会影响到别的进程,同一个进程里的多个线程之间,一个线程挂了可能会把整个进程带走,进而影响到其他线程