이번에는 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)문제를 피해갈 수 있습니다.

대신에 프로세스간 변수를 공유하려면 또 다른 방법을 써야하는데요

그 방법은 다음에 다뤄보겠습니다.