import multiprocessing
# --- --- multiprocessing.Process 사용
def do_multi(code):
# main에서 지정한 code_list의 1,2 각각 들어와서
# 두 개의 프로세스가 실행
# 여기 do_multi 함수에 멀티프로세싱으로 실행할 코드를 작성하면됨.
print (code)
#------------------------------------------------------------
def main():
processes = []
code_list = [1,2]
for code in code_list:
# 실행함수, 파라미터(복수개 가능)
p = multiprocessing.Process(target = do_multi, args = [code,])
p.start() # process 시작
processes.append(p)
for process in processes:
process.join() # process 작업 끝날 때까지 기다리기
# multi end
print ("single process")
for a in range(10):
print (a)
if __name__ == '__main__':
main()
# --- --- multiprocessing.Pool 사용
def do_multi(code):
print (code)
#------------------------------------------------------------
def main():
code_list = [1,2]
print ('--- start _multiprocessing')
# cpu 갯수 확인
cpu_count = multiprocessing.cpu_count()
print ('--- cpu_count ', cpu_count)
# cpu 수 결정
pool = multiprocessing.Pool(2)
# 실행 함수, 넘겨줄 파라미터
pool.map(do_multi, code_list)
# 모든 프로세스 종료까지 기다림
pool.close()
pool.join()
# multi end
print ("--- single process")
for a in range(10):
print (a)
if __name__ == '__main__':
main()
'Python > Python' 카테고리의 다른 글
Python) map이란? (0) | 2022.01.09 |
---|---|
Python) chrome driver 자동 다운로드 만들기 (0) | 2022.01.08 |
Python - 멀티프로세싱에서 공유 리스트 활용법 (0) | 2020.12.25 |
댓글