inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

multiprocessing(4) - Sharing state

Multiprocessing(4) - Sharing state 에서 공유가 안되는 원인

408

ohwhy

작성한 질문수 34

0

안녕하세요 강사님,

Sharing state에서 메모리 공유가 안되는 결과 값으로 질문이 많은것 같습니다. 그래서 강제로 with v.get_lock()을 설정해 주는 분들도 계시지만, 강사님 코딩 중에 for p in process: p.join() 부분의 위치가 잘 못 되어서 그런 문제가 발생 한 것 같습니다. 아래와 같이 코딩을 수정 하면, 메모리 공유가 잘 실행됩니다. 그런데 process.join()을 processes.append(p) 할때 마다 join을 하는게 아니라, 원래 강사님 코딩처럼 processes 리스트에 append가 다 끝난상태에서 join을 해 주는게 맞는것 같은데.. 그럴경우 결과 값은 공유가 풀린 상태가 된 결과 값이 나옵니다.스크린샷 2022-12-20 16.11.57.png1_3 강의 내용에는 x.start() 후 바로 x.join() 처리를 하셨는데, 스크린샷 2022-12-20 17.23.02.png 바로 처리하는게 맞다면, 굳이 리스트 설정 없이 아래 처럼 코딩을 하면 될 것 같습니다. 이 문제에 대해 강사님의 의견을 구하고자 합니다.스크린샷 2022-12-20 17.28.33.png

python 동시성

답변 1

0

좋은사람

안녕하세요.

확인을 해보니 말씀해 주신 부분이 맞는것 같습니다.

배열에 담지 않아도 p 생성시에 메모리 공유가 되는 것을 확인했습니다.

해당 부분은 수정해서 소스코드에 반영하도록 하겠습니다.

또, 다른 개선방안은 없는지도 확인할께요!

감사합니다.

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

0

59

1

daemon=True가 안 먹히네요

0

86

2

threadpoolexecutor.submit 실행 시 순차 실행

0

213

2

queue 를 사용하는 이유?

1

227

1

멀티프로세싱 관련 질문

0

178

1

python gil 삭제

0

369

1

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

0

166

1

데몬스레드 설명

0

238

1

작업영역 질문

0

303

1

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

0

286

1

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

0

277

1

py_ad_2_5_2 Sharing State의 Argument 부분

0

298

1

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

0

337

1

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

0

348

1

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

0

251

1

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

0

431

1

seleniumwire multiprocessing 에러

0

725

1

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

0

658

1

확장프로그램 질문입니다

0

294

1

KeyboardInterrupt 시 p.join에서 exception 발생

0

415

1

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

0

258

1

ProcessPoolExecutor 사용 시 pid 증가

0

354

1

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

0

751

1

ThreadPoolExecutor 에서 max_workers 질문입니다.

2

1525

1