本篇介绍为什么要引入线程,进程与线程的区别,如有错误,请在评论区指正,让我们一起交流,共同进步!
引入进程就是为了实现多个进程(程序)并发执行,但需要不断的创建和销毁进程,资源开销太大,从而引入了线程;
多进程虽然提高了效率,但是每运行一个进程,就需要给进程分配系统资源,资源开销太大
有了线程,只需要在一个进程开始的时候,为第一个线程创建申请系统资源(内存空间,文件描述符表等),之后再创建的线程就不用再申请空间,可以使用同一份系统资源(内存空间和文件描述符表等);提高了效率(这样资源分配的开销就大大减少 )
首先要认识进程和线程
进程: 一个运行的程序;
例如: 运行QQ这个exe文件, 就是一个进程;
线程:线程只是运行程序中的一项功能;
例如: QQ中聊天功能就是一个线程,QQ中的视频功能也是一个线程;(同一个程序中的某项功能称为线程)
1 进程包含线程
一个进程中可以有一个或多个线程,线程是不能独立存在,只能包含在进程中;
2 进程与线程的空间开销不同
每个进程都有独立的内存空间和文件描述符表;
每个线程共享一份地址空间和文件描述符表;
多线程执行
3 进程与线程隔离性不同
进程之间拥有隔离性,一个进程失败了,不影响另一个进程的运行;
线程没有隔离性,当一个线程出现异常,整个进程都可能崩掉, 影响其他线程;
4 进程与线程基本单位不同
进程是操作系统 “资源分配” 的基本单位;
线程是操作系统 “调用” 执行的基本单位;
✨✨✨各位读友,本篇分享到内容如果对你有帮助给个👍赞鼓励一下吧!!
感谢每一位一起走到这的伙伴,我们可以一起交流进步!!!一起加油吧!!!