작성
·
361
·
수정됨
0
안녕하세요 강사님,
Sharing state에서 메모리 공유가 안되는 결과 값으로 질문이 많은것 같습니다. 그래서 강제로 with v.get_lock()을 설정해 주는 분들도 계시지만, 강사님 코딩 중에 for p in process: p.join() 부분의 위치가 잘 못 되어서 그런 문제가 발생 한 것 같습니다. 아래와 같이 코딩을 수정 하면, 메모리 공유가 잘 실행됩니다. 그런데 process.join()을 processes.append(p) 할때 마다 join을 하는게 아니라, 원래 강사님 코딩처럼 processes 리스트에 append가 다 끝난상태에서 join을 해 주는게 맞는것 같은데.. 그럴경우 결과 값은 공유가 풀린 상태가 된 결과 값이 나옵니다.1_3 강의 내용에는 x.start() 후 바로 x.join() 처리를 하셨는데, 바로 처리하는게 맞다면, 굳이 리스트 설정 없이 아래 처럼 코딩을 하면 될 것 같습니다. 이 문제에 대해 강사님의 의견을 구하고자 합니다.
답변 1
0
안녕하세요.
확인을 해보니 말씀해 주신 부분이 맞는것 같습니다.
배열에 담지 않아도 p 생성시에 메모리 공유가 되는 것을 확인했습니다.
해당 부분은 수정해서 소스코드에 반영하도록 하겠습니다.
또, 다른 개선방안은 없는지도 확인할께요!
감사합니다.