Python:进程介绍及语法结构
程序工作时,任务数大于CPU核数,就一定有一些任务是在执行中的,一些需要等待CPU,因此导致不同的状态
import time print('begin')#程序开始运行状态 name=input('name:')#用户输入,进入阻塞 print(name)#运行状态 time.sleep(2)#睡眠,阻塞状态 print('end')#运行状态
语法结构:multiprocessing模块,提供了一个Process类
Process类的参数说明
Process([group[,target[,name[,args[,kwargs]]]]])
target 表示调用对象,即子进程执行的任务
args 给target指定的函数传递的参数 #元组的方式传递
kwargs 表示调用字典对象
name 子进程的名称
group 指定进程组
常用属性:
name:当前进程的别名,默认Process-N,N从1开始递增的整数
pid:进程号
ppid:父进程号
进程创建:
os模块:多种操作系统接口
创建进程简单实现:
import os from multiprocessing import Process def one(): #获取当前进程号及父进程号 print('oneid:%s,父进程id:%s' %(os.getpid(),os.getppid())) def two(): print('oneid:%s,父进程id:%s' % (os.getpid(), os.getppid())) if __name__=='__main__': #创建子进程 p1=Process(target=one)#函数名字 p2=Process(target=two) #启动进程 p1.start() p2.start() #修改进程名字 p1.name='lihailu' print('p1子进程名:',p1.name) p2.name = 'lihai' print('p2子进程名:', p2.name) print('主进程:%s,父进程:%s'%(os.getpid(),os.getppid()))
运行结果为:
p1子进程名: lihailu
p2子进程名: lihai
主进程:4572,父进程:22124#pycharm的进程号
oneid:12944,父进程id:4572
oneid:4408,父进程id:4572
win+R->cmd->tasklist->找到pycharm.exe