이번에는 python의 GIL문제에 대응하여 병렬로 작업을 처리할 수 있는 파이썬 내장 라이브러리인 multiprocessing 에 대해
끄적여 보겠습니다.
python의 multiprocessing을 사용하는 방법은 간단합니다. threading을 사용하는 방법과 비슷합니다.
우선
import multiprocessing
하여 multiprocessing 을 가져와 줍니다.
그리고, 저는 클래스 방식으로 구현을 할 것인데요, 제가 사용하고 있는 소스코드를
가져와 봤습니다.
class DemoClass(multiprocessing.Process):
def __init__(self):
"""
constructor for multiprocessing
"""
multiprocessing.Process.__init__(self)
self.__suspend = False
self.__exit = False
def run(self):
# Enter the code you want
run 함수 부분에 원하는 multiprocessing 구현부를 작성해주시면 됩니다.
이 multiprocessing 함수는 python의 (Global Interpreter Lock)문제를 피해갈 수 있습니다.
대신에 프로세스간 변수를 공유하려면 또 다른 방법을 써야하는데요
그 방법은 다음에 다뤄보겠습니다.