inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

고수가 되는 파이썬 : 동시성과 병렬성 문법 배우기 Feat. 멀티스레딩 vs 멀티프로세싱 (Inflearn Original)

CPU Bound(2) - Multiprocessing

manager.list() 질문

613

swtm

작성한 질문수 15

0

안녕하세요 선생님

 

manager.list() 객체가 공유된다고 말씀하셨는데 혹시 해당 객체는 어느 프로세스의 메모리 영역에 저장되는 것인지요.

메인 프로세스인가요?

python 동시성

답변 1

1

좋은사람

네 맞습니다.

서버 프로세스

Manager() 가 반환한 관리자 객체는 파이썬 객체를 유지하고 다른 프로세스가 프락시를 사용하여 이 객체를 조작할 수 있게 하는 서버 프로세스를 제어합니다.

Manager() 가 반환한 관리자는 listdictNamespaceLockRLockSemaphoreBoundedSemaphoreConditionEventBarrierQueueValue 그리고 Array 형을 지원합니다. 예를 들어, 다음 코드는

from multiprocessing import Process, Manager

def f(d, l):
    d[1] = '1'
    d['2'] = 2
    d[0.25] = None
    l.reverse()

if __name__ == '__main__':
    with Manager() as manager:
        d = manager.dict()
        l = manager.list(range(10))

        p = Process(target=f, args=(d, l))
        p.start()
        p.join()

        print(d)
        print(l)

를 인쇄할 것입니다

{0.25: None, 1: '1', '2': 2}
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

서버 프로세스 관리자는 임의의 객체 형을 지원하도록 만들 수 있으므로 공유 메모리 객체를 사용하는 것보다 융통성이 있습니다. 또한, 단일 관리자를 네트워크를 통해 서로 다른 컴퓨터의 프로세스에서 공유 할 수 있습니다. 그러나 공유 메모리를 사용할 때보다 느립니다.

Pros and Cons 관련하여 질문드립니다

0

72

1

daemon=True가 안 먹히네요

0

97

2

threadpoolexecutor.submit 실행 시 순차 실행

0

222

2

queue 를 사용하는 이유?

1

241

1

멀티프로세싱 관련 질문

0

189

1

python gil 삭제

0

371

1

4분:59초 질문 그룹쓰레드 (5). 대기중인 작업 -> Queue -> 완료 상태조사 -> 결과 또는 예외 -> 단일화(캡슐화) 에 관해서

0

174

1

데몬스레드 설명

0

241

1

작업영역 질문

0

310

1

cmd에서 code작성시 기존에 깔아둔 vscode에서 이상한 화면이 뜨네요

0

290

1

ThreadPoolExecutor에서 작업중인 쓰레드가 있을때 대기할수 있는 방법이 있는지요?

0

286

1

py_ad_2_5_2 Sharing State의 Argument 부분

0

301

1

Thread(4) 16:10 스레드 질문

0

343

1

파이썬 병렬처리 관련 질문이 있습니다.

0

352

1

10:10쯤에 질문있습니다.

0

257

1

multiprocessing(5) - Queue 공유 질문 in multiprocess

0

435

1

seleniumwire multiprocessing 에러

0

729

1

logging과 print 차이 질문입니다..!

0

671

1

확장프로그램 질문입니다

0

299

1

KeyboardInterrupt 시 p.join에서 exception 발생

0

420

1

경쟁상태,교착상태, 메모리영역

0

259

1

ProcessPoolExecutor 사용 시 pid 증가

0

354

1

multiprocess 환경에서 특정 Process에 문제가 있거나 죽었을때 처리 방법

0

754

1

ThreadPoolExecutor 에서 max_workers 질문입니다.

2

1533

1