并发编程——多进程——理论(2)

1.什么是进程

  • 正在进行的一个过程或着说一个任务,而负责执行任务的则是CPU。

2.进程与程序的区别

  • 程序仅仅只是一堆代码而已,而进程指的是程序的运行过程,同一个程序执行两次,也是两个进程。

3.并发与并行

  • 一个CPU同一时刻只能执行一个任务
  • 并发:伪并行,即看起来是同时运行,单个CPU+多道技术就可以实现并发
  • 并行:具有多个CPU才能实现并行,真正意义上的同时运行

4.进程的创建

  • 新进程的创建都是由一个已经存在的进程执行了一个用于创建进程的系统调用而创建的
    • 系统初始化
    • 一个进程在运行过程中开启了子进程(如nginx开启多进程,os.fork,sunprocess.Popen)
    • 用户的交互式请求,而创建一个新进程(如用户双击暴风影音)
    • 一个批处理作业的初始化(只在大型机的批处理系统中应用)

5.进程的终止

  • 正常退出(自愿,如用户点击交互式页面的叉号,或程序执行完毕调用发起系统正常退出)
  • 出错退出(自愿,python a.py中a.py不存在)
  • 严重错误(非自愿,执行非法指令,如引用不存在的内存,I/O等,可以通过捕捉异常定位)
  • 被其他进程杀死(非自愿,如kill -9)

6.进程的状态

  • 运行
  • 阻塞
  • 就绪
原文地址:https://www.cnblogs.com/GraceZ/p/8452021.html