进程以及状态
1,进程
程序:例如xxx.py这是程序,是一个静态
进程:一个程序运行起来后,代码+用到的资源称之为进程,他是操作系统分配资源的基本单元。
不仅可以通过线程完成多任务,进程也是可以的。
2,进程的状态
工作中,任务数往往大于cpu的核数,即一定有一些任务正在执行,而另外一些任务在等待cpu进行执行,因此导致了有了不同的状态。
multiprocessing模块就是跨平台版本的多进程模块,提供了一个Process类来代表一个进程对象,这个对象可以理解为一个独立的进程,可以执行另外的事情
from multiprocessing import Process
import time
def run_pro():
# 子进程要执行的代码
while True:
print("---------2----------")
time.sleep(1)
if __name__ == "__main__":
p = Process(target=run_pro)
p.start()
while True:
print("-----1-------")
time.sleep(1)
说明:
创建子进程时,只需要传入一个执行函数和函数的参数,创建一个Process示例,用start()方法启动。
from multiprocessing import Process
import time
import os
def run_pro():
# 子进程要执行的代码
while True:
print("子进程运行中,pid=%d" % os.getpid()) # os.getpid获取当前进程的进程号
print("子进程将要结束")
time.sleep(1)
if __name__ == "__main__":
print("父进程pid:%d" % os.getpid()) # os.getpid获取当前进程的进程号
p = Process(target=run_pro)
p.start()
Process([group[,target[,name[,args[,kwargs]]]])
Process创建的实例对象的常用方法:
注意:程序运行会先运行父进程,然后再运行子进程,子进程会复制创建子进程之前的所有父进程中的所有变量
原文:https://www.cnblogs.com/NEGAN-H/p/14615340.html