教程引言:
该系列教程会系统地讲解并发与并行的基础概念,以及如何使用Python进行并发编程。掌握并发编程,是成为一名优秀程序员所必须具备的基本功。
2.1.1 什么是进程?
本节内容,不细讲抽象的概念,仅从一个简单的实例出发,帮助同学们理解什么是进程。学习是一个渐进的过程,先知道“是什么”,再理解其基础概念,而后进一步探究复杂概念背后的原理,如此便可化难为易,不至于在学习之初被玄而又玄的概念绕的云里雾里。
那么,进程到底是什么?
其实我们每天都在使用“进程”,打开手机点击其中的一个app,app运行以后,它就变成了一个进程。所谓的进程,从其字面意思来进行理解,即正在运行的程序。进一步理解进程,我们先写一段简单的Python代码,脚本的文件名为wonderful.py:
代码如下:
# __desc__ = I'm just a piece of code def wonderful(): """ Just return It's a Wonderful Life """ return "It's a Wonderful Life" if __name__ == "__main__": print(wonderful())
我们将代码输入wonderful.py以后,将其保存在磁盘中:
磁盘中的wonderful.py仅是一个Python脚本文件或Python程序,不是一个进程。 程序是一种静态的概念,我们用Python或其它编程语言编写的源代码文件,是一个程序,但不是进程。进程是一个动态的概念,为让程序变成进程,我们必须执行它。现在我们进入windows命令行或者直接在PyCharm中执行wonderful.py。
关于windows的命令行基础知识和PyCharm的用法不是很熟悉的同学,可以学习薯条老师的《Python零基础入门到精通》这本教程。
脚本执行成功以后,可以看到程序的输出:
It's a Wonderful Life
关于进程的概念是上世纪60年代初首先由麻省理工学院的MULTICS系统和IBM公司的CTSS/360系统引入的。现在我们来比较程序与进程的主要区别:程序是静态的文件,而进程是动态的执行实体。为执行这个程序,操作系统必须为该进程分配CPU,内存,磁盘等系统资源,从这一个角度进行分析,我们可以初步得出这样的结论:进程是操作系统进行资源分配的基本单位。
操作系统是进程的容器,在系统中运行着各种各样的进程,它们占用着有限的系统资源:CPU,内存,磁盘等。我们在进行软件开发时,需要时刻考虑这两个问题:如何减少程序对系统资源的占用?如何优化程序的执行性能?
为更直观地理解进程,我们可以进入windows系统中的任务管理器,在任务管理器中可以查看系统中运行的所有进程,以及查看某个进程的资源占用情况:
wonderful.py运行成功以后,可以看到程序的输出,程序输出以后结束运行。进程结束以后,系统会回收该进程所占用的资源。从进程开始执行到结束,这里存在一个状态的变更,关于进程的状态,会在下一节中进行详细讲解。
2.1.2 知识要点
(1) 所谓的进程,从其字面意思来进行理解,即正在运行的程序。(2) 程序是静态的文件,而进程是动态的执行实体(3) 进程在执行过程中,需要占用系统的内存,CPU,磁盘等资源。进程是操作系统进行资源分配的基本单位。
2.1.3 课后习题
(1) 谈谈你对进程的理解(2) 程序与进程的主要区别是什么?
关注微信公众号:Python在线课堂,学习Python视频课程以及其它的编程课程:tornado,django,web开发,网络爬虫,大数据分析,机器学习。公众号后台回复“学习资料”领取Python,web开发,网络爬虫,大数据分析,机器学习等学习资料。
TAGS:进程的概念