(搞清楚线程,进程,多任务,程序概念能够帮助我们后续学习多线程)
多线程:
何为多线程:打个比方,当一个人在同一时间内,即一边看电视,一边吃零食(比如我)。同理,对于计算机来说,同一时间需要处理多个任务,比如,在打开某个页面的时候同时对网络资源的加载。多线程编程的含义是把一个程序的任务分成多个可以同时完成的小任务进行处理。
线程,进程,多任务,程序概念:
线程:
是Cpu调度的基本单位,也是比进程"更小"的,能够独立运行的基本单位,线程不具有自己的系统资源,通常情况下是使用所在进程资源。由于比进程更小,因此也可成为轻量级"进程"。
进程:
在程序中具有独立功能的某个数据集合的一次运行中活动。进程的资源由系统所分配,一个进程能包含诺干个线程,而线程就是共享进程的资源。
多任务:
指的是系统中多个同时运行的进程。不同的进程之间互不干扰相互独立。
程序:
包含了数据和指令集合的文件,被存储在磁盘或者数据存储设备中,本质上来说程序就是一静态的代码集合。
线程和进程的区别:
资源的管理方式不同,对于进程来说,进程有自己的空间地址,一般情况下一个进程的奔溃不会影响另一个进程;而对于线程来说,线程共享所在进程的资源,线程也有堆栈和变量,但没有自己的空间地址。