进程和线程的简介
-----内容为网络课堂所记的笔记,易懂,容易理解。-----
要想了解多线程,先要了解线程,要想了解线程,必须先了解进程,因为线程是依赖于进程而存在的。
什么是进程?
通过任务管理器我们看到了进程的存在
而通过观察,我们发现只有运行程序才会出现进程
进程,就是正在运行的程序
进程是系统进行资源分配和调用的独立单位,每一个进程都有它自己的内存空间和系统资源。
多进程有什么意义呢?
单进程的计算机只能做一件事,而我们现在的计算机都可以做多件事情。
*举例*:一边玩游戏(游戏进程),一边听音乐(音乐进程)。
也就是说现在的计算机都是支持多进程的,可以在一个时间段内执行多个任务。
并且呢,可以踢高CPU的使用率。
*问题:*
一边玩游戏,一边听音乐时同时进行的吗?
不是,因为单CPU在某一个时间点上只能做一件事。
而我们在玩游戏,或者听音乐的时候,是CPU在做这程序间的高效切换让我们觉得是同时进行的。
什么是线程?
在同一个进程内又可以执行多个任务,而这每一个任务我就可以看出来是一个线程。
线程:是程序的执行单元、执行路径,是程序使用CPU的最基本单位。
单线程:如果程序只有一条执行路径。
多线程:如果程序有多条执行路径。
多线程有什么意义呢?
多线程的存在,不是提高程序的执行速度,其实是为了提高应用程序的使用率。
程序的执行其实都是在抢CPU的资源,CPU的执行权。
多个进程是在抢这个资源,而其中的某个进程如果执行路径比较多,就会有更高的几率抢到CPU的执行权。
我们是不敢保证哪一个线程能够在哪个时刻抢到,所以线程的执行有随机性。
------------------------------------------------------------------------------------------------------------------------------------ **补充:**
进程:
正在进行的程序,是系统进行资源分配和调用的独立单元。
每一个进程都有它自己的内存空间和系统资源。
线程:
是进程的单个顺序控制流,是一条执行路劲。
一个线程如果只有一条执行路劲,则称为单线程程序。
一个线程如果有多条执行路径,则称为多线程程序。
举例:
扫雷程序,迅雷下载(多条任务同时下载)
注意两个词汇:并行与并发
前者是逻辑上同时发生,指在某个时间内同时运行多个程序。
后者是物理上同时发生,指在某个时间点同时运行多个程序。
举例:两个人在前后不同时间和在同一个时间点打开百度
来源:CSDN
作者:ZJJ哈哈哈嗝
链接:https://blog.csdn.net/weixin_44249746/article/details/104768077