目录:
一. 进程
1.进程的定义:
- 一个在内存中运行的应用程序就是一个进程。每个进程都有自己独立的一块内存空间,一个进程可以有多个线程,比如在Windows系统中,一个运行的xx.exe就是一个进程。
- 进程是资源分配的最小单位
- 当一个可执行程序被系统执行(分配内存等资源)就变成了一个进程
- 一个运行起来的程序就是一个进程
2.进程间互相访问数据的四种方式:
***注意:不同进程间内存是不共享的,所以互相之间不能访问对方数据
- 利用Queues实现父进程到子进程的数据传递
- 使用管道pipe实现两个进程间数据传递
- Managers实现进程间数据传递
- 借助redis中间件进行数据传递
3.程序:
- 程序:程序是我们存储在硬盘里的代码,比如我的硬盘是512G内存条是16G,当 我们双击图标,打开程序的时候,实际上就是通过I/O操作(读写)内存条里面,内存条就是我们所指的资源。
- CPU分时:CPU比你的手速快多了,分时处理每个线程,但是由于太快然你觉得每个线程都是独占cpu
- cpu是计算,只有时间片到了,获取cpu,线程真正执行
- 当你想使用 网络、磁盘等资源的时候,需要cpu的调度
4.为什么要使用进程池
-
一次性开启指定数量的进程
-
如果有十个进程,有一百个任务,一次可以处理多少个(一次性只能处理个)
-
防止进程开启数量过多导致服务器压力过大
**进程的注意点** ①.程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,这种执行的程序就称之为进程 ②.程序是指令的集合,它是进程运行的静态描述文本,进程是程序的一次执行活动,属于动态概念 ③.在多道编程中,允许多个程序同时加载到内存中,在操作系统的调度下,可以实现并发的执行 ④.进程是为了在CPU上实现多道编程而提出的 ⑤.进程之间有独立的内存,各进程之间不能相互访问 ⑥.创建新进程需要对父进程进此复制
5.进程的优缺点:
- 优点:提供了多道编程,可以提高计算机的利用率
- 缺点:①进程只能同一时间做一件事情②进程在执行过程中如果出现阻塞,整个进程就无法执行
6.并发和并行:
- 并发:并发是同一个时间段内执行多个进程,通过时间片切换来模拟并行。
- 并行:并行是同一个时间点有多个进程在一起执行。在同等条件下,并行的效率肯定比并发高,并发存在一定的消耗,在并发过程中,线程的创建、上下文切换都需要开销
7.多道编程的概念:
- 多道编程:在计算机内存中同时存放几道相互独立的程序,共享系统资源,相互穿插运行
- 单道编程:计算机内存中只允许一个程序运行
8.进程和程序的区别:
- 程序是一个机器代码指令和数据的集合,所以程序是一个静态的实体
- 进程是程序运行在数据集上的动态过程
- 进程是系统进行资源分配和调度的一个独立单位
- 一个程序对应多个进程,一个进程为多个程序服务
- 一个程序执行在不同的数据集上就成为不同的进程,可以用进程控制块来唯一标识每个进程