1. 程式人生 > >python_day9 其他方法和屬性

python_day9 其他方法和屬性

方式 () mar spa process tro -h sta 才會

=====================part2: Process對象的其他方法或屬性

-------------------------join----------------------

正常情況下,主進程 制造了子進程後,自己會繼續執行,但是 使用join後, 主進程 會 等待子進程結束,再繼續執行

from multiprocessing import Process
import os
import time
def GO(name):
print(‘is go‘,name)
time.sleep(2)
print(‘is end‘,name)

if __name__ == ‘__main__‘
:
p1=Process(target=GO,args=(‘la1‘,))
p2=Process(target=GO,args=(‘la2‘,))
p3=Process(target=GO,args=(‘la3‘,))
p4=Process(target=GO,args=(‘la4‘,))
p_l=[p1,p2,p3,p4]
for p in p_l:
p.start()

for p in p_l:
p.join()
print(‘主進程‘)

最後 才會打印 主進程

===========================daemon 守護進程=====================

from multiprocessing import Process
import os
import time
def GO(name):
print(‘is go‘,name)
time.sleep(2)
print(‘is end‘,name)

if __name__ == ‘__main__‘:
p1=Process(target=GO,args=(‘la1‘,))
p2=Process(target=GO,args=(‘la2‘,))
p3=Process(target=GO,args=(‘la3‘,))
p4=Process(target=GO,args
=(‘la4‘,))
p_l=[p1,p2,p3,p4]
for p in p_l:
p.daemon=True
p.start()

# for p in p_l:
# p.join()
print(‘主進‘)

設置了守護進程後,主進程將不再等待 子進程結束, 自己就結束程序了,子進程切換為後臺方式 跑

還可以打印 print(p.name)  print(p.pid)  獲取pid 和 名稱

p=Process(target=GO,args=(‘la1‘,),name=‘xxxx‘)  定義name

print(p.is_alive())  查看進程是否存活

=====================part2: Process對象的其他方法或屬性

python_day9 其他方法和屬性