一、线程和进程
操作系统中的每一个任务通常都对应一个进程,一个程序进入内存就变成了一个进程,进程是系统进行资源分配和调度的独立单位,进程的三大特性,
- 1、独立性:进程在系统中是独立的实体,拥有自己独立的资源
- 2、动态性:进程是系统中活动的指令集合
- 3、并发性:多个进程可以在单个服务器上并发执行,相互不会影响
线程也被称作是轻量级的进程,线程是进程的执行单元,就像进程在操作系统中的地位,线程在程序中是独立的、并发的执行流,
线程可以拥有自己的堆栈、程序计数器、局部变量,但是不拥有系统资源,他与父进程的其他线程共享该进程所有的全部资源,互相协调来完成进程所要完成的任务
简而言之,操作系统可以同时执行多个任务,每个任务是进程,进程可以同时执行多个任务,每个任务就是线程,一个进程可以有多个线程,一个线程必须拥有一个父进程。
二、并发和并行
并发和并行是两个概念,并行指同一时刻,有多个指令在多个处理器同时执行,并发指同一时刻只能有一条指令,但多个进程指令被快速轮换执行,使得在宏观上有多个进程同时执行的效果。
三、多线程的优势
- 1、进程之间不能共享内存,线程之间可以
- 2、进程创建需要系统重新分配资源,线程创建代价小很多,实现多任务并发效率高
后续将进行多线程的使用