다중 처리 모듈에 대해 배우고 있습니다. 이 예제는 python.org의 문서에서 찾았습니다.다중 처리 모듈에서 언제 join 메소드를 사용합니까?
from multiprocessing import Process
def f(name):
print('hello', name)
if __name__ == '__main__':
p = Process(target=f, args=('bob',))
p.start()
p.join()
여기서는 join을 사용하여 프로세스를 완료합니다.
from multiprocessing import Process, Lock
def f(l, i):
l.acquire()
try:
print('hello world', i)
finally:
l.release()
if __name__ == '__main__':
lock = Lock()
for num in range(10):
Process(target=f, args=(lock, num)).start()
그러나이 경우에는 사용하지 않습니다. 나는 또한 이것을 읽었다.
데몬이 아닌 프로세스는 자동으로 조인된다.
두 번째 예제를 설명합니다. 그렇다면 처음에 참여를 사용해야하는 이유는 무엇입니까? 프로세스가 변수에 있기 때문에해야합니까?