1. 什么是进程
我们想通过网易云听歌,具体的过程应该是先找到酷我应用程序,然后双击就会播放音乐。
当我们双击的时候,操作系统将程序装载到内存中,操作系统为它分配资源,然后才能运
行。运行起来的应用程序就称之为进程。
也就是说当程序不运行的时候我们称之为程序,当程序运行起来他就是一个进程。通俗的理解就是不运行的时候是程序,运行起来就是进程。
程序和进程的对应关系是:程序只有一个,但是进程可以有多个。
例:
import os
import time
def sing():
for i in range(3):
time.sleep(2)
print("唱第{}首歌".format(i+1))
def dance():
"""跳舞函数"""
for i in range(3):
time.sleep(3)
print("跳第{}段舞".format(i+1))
def main():
sing()
dance()
if __name__ == '__main__':
main()
print(os.getpid())
#先唱完歌,再跳舞,是一个串行操作
#想边唱歌边跳舞,并行操作,操作效率高
#单核CPU在任何时候只能执行一个任务
多进程:
from multiprocessing import Process
import time
def sing():
for i in range(3):
# time.sleep(3)
print("唱%d首歌" % (i+1))
def dance():
for i in range(3):
# time.sleep(3)
print("跳%d段舞" % (i+1))
if __name__ == '__main__':
#2.创建进程
p1=Process(target=sing)#创建进程怕,执行sing函数
p2=Process(target=dance)
start= time.time()
#3.启动进程
p1.start()
p2.start()
end=time.time()
#dance()
date = end-start
print(date)
唱1首歌
跳1段舞
唱2首歌
唱3首歌
跳2段舞
跳3段舞
连唱带跳~~~