目录
线程相关概念
程序(Program)
程序 = 指令 + 指令要处理的数据.
是为完成特定任务、用某种语言编写的一组指令的集合.
简单的说:就是我们写的代码
什么是进程
1.进程是指运行中的程序,每一个进程都会占用一定的cpu,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存空间.当我们使
用迅雷,又启动了一个进程,操作系统将为迅雷分配新的内存空间.
2.进程是程序的一次执行过程,或是正在运行的一个程序.是动态过程:有它自身的产生、存在和消亡的过程
什么是线程
1.线程由进程创建的,是进程的一个实体
2一个进程可以拥有多个线程 比如同时下载多个视频 每个下载任务都是一个线程
为什么要有线程
首先, "并发编程" 成为 "刚需"
单核 CPU 的发展遇到了瓶颈. 要想提高算力, 就需要多核 CPU. 而并发编程能更充分利用多核 CPU
资源.
有些任务场景需要 "等待 IO", 为了让等待 IO 的时间能够去做一些其他的工作, 也需要用到并发编
程
其次, 虽然多进程也能实现 并发编程, 但是线程比进程更轻量.
创建线程比创建进程更快.
销毁线程比销毁进程更快.
调度线程比调度进程更快.
其他相关概念
1.单线程:同一个时刻,只允许执行一个线程
2.多线程:同一个时刻,可以执行多个线程,比如:一个qq进程,可以同时打
开多个聊天窗口,-个迅雷进程,可以同时下载多个文件
3.并发:同一个时刻,多个任务交替执行,造成一种“貌似同时”的错觉,简
单的说,单核cpu实现的多任务就是并发
4.并行:同一个时刻,多个任务同时执行。多核cpu可以实现并行