多任务
1、什么是线程(thread)?
线程是操作系统能够进行运算调度的最小单位,它包含在进程中,是进程中的实际运作单位。
一个进程可以并发多个线程,每条线程并行执行不同的任务。
简单理解:一一堆指令令
2、什么是进程(process)?
正在进行的一个过程或一个任务,而执行任务的是CPU,进程是一个抽象的概念。
程序是菜谱,进程是做菜的过程。
3、线程和进程的区别
- 线程是执行的指令集,进程是资源的集合
- 启动速度:线程比进程快
- 运行速度:没有可比性
- 线程共享创建它的进程的内存空间,进程的内存是独立的
- 交互:同一个进程之间的线程可以进行交流,两个进程之家通信必须通过一个中间代理来实现
- 创建:新线程创建很简单,新进程创建需要克隆父进程
- 线程之间是平等的,没有隶属关系,可以控制和操作同一线程里的其他线程。但是进程只能操作子进程
4、同步和异步
同步:就是指一个进程在执行某个请求的时候,若该请求需要一段时间才能返回信息,那么这个进程将会一直等待下去,直到收到返回信息才继续执行下去
异步:是指进程不需要一直等下去,而是继续执行下面的操作,不管其他进程的状态。当有消息返回时系统会通知进程进行处理,这样可以提高执行的效率。
栗子:打电话的过程就是同步通信,发短信时就是异步通信
5、并行与并发
并行:具有处理多个任务的能力
并发:具有同时处理多个任务的能力