1
Возможно ли запустить некоторые процессы и установить процесс нереста, чтобы подождать, пока не закончится процесс порождения? Ниже приведен пример, который я использовал.python многопроцессорный набор нерестится процесс ожидания
import multiprocessing
import time
import sys
def daemon():
p = multiprocessing.current_process()
print 'Starting:', p.name, p.pid
sys.stdout.flush()
time.sleep(2)
print 'Exiting :', p.name, p.pid
sys.stdout.flush()
def non_daemon():
p = multiprocessing.current_process()
print 'Starting:', p.name, p.pid
sys.stdout.flush()
print 'Exiting :', p.name, p.pid
sys.stdout.flush()
if __name__ == '__main__':
d = multiprocessing.Process(name='daemon', target=daemon)
d.daemon = True
n = multiprocessing.Process(name='non-daemon', target=non_daemon)
n.daemon = False
print "start main"
d.start()
time.sleep(1)
n.start()
print "stop main"
напечатает
start main
Starting: daemon 2809
stop main
Starting: non-daemon 2810
Exiting : non-daemon 2810
в то время как я хотел бы иметь:
start main
messages from other services
stop main
@danizgod: 'join' это обычное название для такого рода действий, так что вы также найдете' join' в 'Thread' и в' Queue' –