进程概念
什么叫做资源,比如网络摄像头,键盘,鼠标这些硬件东西。
程序只有一个,但这个程序的进程可以有很多个。
进程的状态
工作中,任务数往往大于cpu的核数,即一定有一些任务正在执行。而另外一些任务在等待cpu进行执行,因此导致了有了不同的状态。
· 进程有3种状态
接下来放一个图来清晰的看到:
使用process完成多进程
导入multiprocessing模块
import multiprocessing
使用process完成多进程(和线程的thread看似一模一样,其实查看任务管理器进程,实际有3个同样的py文件在运行,而线程是一个py文件里运行多个函数)
p1 = multiprocessing.Process(target=Test1)
总代码:
import multiprocessing
import time
def Test1():
while True:
print("1-----")
time.sleep(1)
def Test2():
while True:
print("2-----")
time.sleep(1)
def main():
p1 = multiprocessing.Process(target=Test1)
p2 = multiprocessing.Process(target=Test2)
p1.start()
p2.start()
if __name__ == '__main__':
当执行到start()函数的时候,会创建出子进程,与主进程一模一样,只有代号不一样用来区分,相当于拷贝一份。 不过子进程1执行test1,子进程2执行test2,而不是从头执行。
进程越多,占的内存越大。