进程分为两种:
1、守护进程
2、非守护进程
一个软件程序启动之后,可以根据需要创建很多个进程。比如创建了5个进程,主进程一般都是非守护进程。进程运行完自己的功能之后,会退出。如果剩下的进程都是守护进程,这个软件程序会退出。
from multiprocessing import Process
import time
def my_fun1():
while True:
time.sleep(0.1)
print('zijicheng...')
if __name__ == "__main__":
p1 = Process(target=my_fun1)
p1.daemon = True
p1.start()
for i in range(5):
time.sleep(0.1)
print('主进程...')
#---------------------运行结果---------------
主进程...
主进程...
主进程...
zijicheng...
主进程...
zijicheng...
主进程...
Process finished with exit code 0
以上结果说明由于主进程运行结束,子进程都为守护进程,则退出程序,自动退出while循环。
网友评论