1.想要了解多线程,必须先了解线程,而想了解线程,必须了解进程,因为线程是依赖于进程而存储在的
2.什么是进程?
通过任务管理器我们就看见了进程的存在
而通过观察,我们发现只有运行的程序才会出现进程
进程:就是正在运送的程序
是系统进行资源分配和调用的独立单位。
每一个进程都有它自己的内存空间和系统资源
3.多进程有什么意义?
单进程的计算机只能做一件事情,而我们现在的计算机都可以进行多件事情:
举例:一边游戏(游戏进程),一边听音乐(音乐进程)
也就是说现在的计算机都是支持多进程的,就可以在一个时间段内执行多个任务
并且,可以提高CPU的使用率
问题:
一边玩游戏,一边听音乐时同时进行的吗?
不是。因为单CPU在某一个时间点只能做一件事情
而我们在玩游戏,或者听音乐,是CPU在做着程序间的高效切换让我们觉的是同时进行的。
4.什么是线程
在一个进程内又可以执行多个任务,而每一个任务就们可以看成一个线程
线程:是程序的执行单元,执行路径。是程序使用CPU的最基本单位
单线程:如果程序只有一个执行路径 。
多线程:如果程序有多个执行路径
5.多线程有什么意义?
多线程的存在,不是提高程序的执行速度。其实是为了提高应用程序的使用率
程序的执行其实都是在抢CPU的资源,或着说是在强CPU的执行权
多个进程是在抢这个资源,而其中的某一个进程如果线程比较多,就会有更大的几率抢到CPU的执行权
我们不敢保证那一个线程能够在那个时刻抢到,所以线程的执行有随机性