• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

멀티프로세싱 질문

21.12.01 00:02 작성 조회수 90

0

안녕하세요, 강사님.
좋은강의를 좋은기회로 제공해주시는데 제가 너무 많은 질문을 하지 않는가 죄송스럽네요...
강의가 너무 좋아서 복습하다가 헷갈리는 부분들을 다시한번 여쭤봅니다.
 
1. 멀티프로세스 데이터공유 방법 중 Value, Array는 acquire/release를 안해주면 프로세스가 그 변수에 접근하는 순서는 보장할 수 없는것이 맞는것이죠? (thread에서 배운 Lock 개념처럼)
 
2. 파이썬 코드에서 parent process가 있고 제가 만든 child process가 있을때, child process가 끝났다면(is_alive()가 False로 더이상 그 프로세스는 뭔가 더 하는일이 없음) 그 child process가 자원을 사용 안한다고 이해해도 되나요? 아니면 그래도 역시 쓸데없는(?) 자원 소비가 있을까요? 만일 있다면, 어떻게 그것을 방지할 수 있을까요?
 
3. 2번과 유사하게... thread에 대해서도 is_alive()가 False면 그 thread가 쓸데없이 작동하는 경우는 없다고 이해하면 되나요? (잘은 모르지만 multi-thread는 concurrency 개념으로 일정시간별 반복되며 여러 쓰레드가 작동된다 이해하고 있습니다) 만일 아니라면, 그 더이상 하는일 없는 thread는 작동되지 않도록 추가작업을 어떻게 해줘야 하나요?

답변 1

답변을 작성해보세요.

0

안녕하세요.

다시 말씀드립니다.

지난 번에도 언급드렸지만, 1:1 멘토링 수준의 완전 답변은 저역시 시간을 할애에서 매일 매일 해드리가 곤란해여~

성능 프로세싱, 스레딩에 관한 심도있는 서적을 읽으셔야 될 것 같습니다.

이미 생각하신 것들이 대부분 맞습니다.