python的进程概念
进程 进程概念 进程(Process)是资源分配的最小单位,是线程的容器。 程序是固定不变的,而进程会根据运行需要,让操作系统动态分配各种资源的CPU的时间片轮转,在不同的时间段切换执行不同的进程,但是切换进程是比较耗时的;就引来了轻量级进程,也就是所谓的线程,一个进程中包括多个线程(代码流,其实也就是进程中同时跑的多个方法体) 程序:例xxx.py这是程序,是一个静态的 进程:一个程序运行起来后,代码+用到的资源称之为进程,它是操作系统分配资源的基本单元。 进程状态 工作中,任务数往往大于cpu的核数,即一定有一些任务正在执行,而另外一些任务在等待cpu进行执行,因此导致了有了不同的状态 进程状态 就绪态:运行的条件都已经满足,正在等在cpu执行 执行态:cpu正在执行其功能 等待态:等待某些条件满足,例如一个程序sleep了,此时就处于等待态 进程的创建 - multiprocessing multiprocessing模块就是跨平台版本的多进程模块,提供了一个Process类来代表一个进程对象,这个对象可以理解为是一个独立的进程,可以执行另外的事情。 ·创建子进程跟创建线程十分类似,只需要传入一个执行函数和函数的参数,创建一个Process实例,用start0方法后动 Process语法结构如下: Process([group [,target[,name,[args[,kwargs]]]) target:如果传递了函数的引用,这个子进程就执行这里(函数)的代码 args:给target指定的函数传递的参数,以元组的方式传递 kwargs:给target指定的函数传递命名参数 name:给进程设定一个名字,可以不设定 group:指定进程组,大多数情况下用不到 Process创建的实例对象的常用方法: start():后动子进程实例(创建子进程) is_alive:判断进程子进程是否还在活着 join([timeout]):是否等待子进程执行结束,或等待多少秒o terminate:不管任务是否完成,立即终止子进程 Process创建的实例对象的常用属性: name:当前进程的别名,默认为Process-N,N为从1开始递增的整数 pid:当前进程的pid(进程号) linux系统可使用kill命令结束进程 ...