파이썬 멀티프로세싱에서 AttributeError: 'ForkAwareLocal' object has no attribute 'connection' 오류가 뜹니다

조회수 117회
import multiprocessing
from time import sleep

def a(num, list1, list2):
    if(num==1):
        count=0
        for k in list1:
            if k not in list2:
                list2.append(k)
            sleep(0.05)
            count= count + 1
            print('a '+ str(count))
    if(num==2):
        count=0
        for j in list2:       
            if j+10000 not in list1:
                list1.append(j+10000)
            sleep(0.05)
            count= count + 1
            print('b '+ str(count))

if __name__ == '__main__':
    manager    = multiprocessing.Manager()
    manager2    = multiprocessing.Manager()
    list1 = manager.list()
    for n in range(1,100):
        list1.append(n)
    list2 = manager2.list()
    for n in range(101,1000):
        list2.append(n)
    for num in range(1,3):
        p = multiprocessing.Process(target=a, args=(num, list1,list2))
        p.start()
        sleep(0.05)

한 함수인데 나눠야지만 출력이 되네요

이를 실행했을때 이런 오류가 발생했습니다

Process Process-3:
Traceback (most recent call last):
  File "C:\Users\AAA\AppData\Local\Programs\Python\Python310\lib\multiprocessing\managers.py", line 810, in _callmethod
    conn = self._tls.connection
AttributeError: 'ForkAwareLocal' object has no attribute 'connection'

답변을 하려면 로그인이 필요합니다.

Hashcode는 개발자들을 위한 무료 QnA 사이트입니다. 계정을 생성하셔야만 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 계정을 생성하셔야만 글을 작성하실 수 있습니다.