• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

제 42강 챕터06-04 Futures 강의 중 worker 변수 관련 질문

20.05.16 22:47 작성 조회수 64

0

좀 이해가 가지 않는 부분이 있어서 질문을 드립니다

이 강의에서 worker 변수를 선언하고 min(10, len(work_list)) 의 값을 지정하여

work_list 의 항목 갯수에 따라 가변적으로 지정하며, 최대 10을 넘지 않게 한 것까지는 알겠습니다

work_list 에서 선언된 항목들을 sum_generator 함수에 멀티쓰레드로 넣기 위해 이런 작업들을 한다고 이해하고 있는데요

그런데 정작 이 전체 함수 내에서 worker 변수가 전혀 쓰이지 않고,

worker 변수 선언된 부분을 지워도 문제없이 프로그램이 실행되는데 과연 이 worker 변수가 겉으론 표현되지 않지만

무슨 내부적 프로세스에 필수적으로 필요한 약속된 변수인 것인지,

질문을 쭉 찾아봐도 정확하게 이런 부분에 대해 의문을 해소할 수가 없어서 문의를 드리게 되었습니다

답변 2

·

답변을 작성해보세요.

0

LUX님의 프로필

LUX

질문자

2020.05.18

해당 강의에서는 전혀 말씀하신 언급이 없고

그냥 worker 변수만 선언하셨습니다

제 42강은 map 함수만 설명하셨고 답변 주신 공식 레퍼런스 내용도 설명이 없으셨는데요

어쨌든 알겠습니다. 여기서 선언하신 worker 변수는 쓰이지 않는 것으로 알고 있겠습니다

0

설정 항목이 누락된 것 같습니다.

공식 홈페이지 레퍼런스를 보면 중간에 max_workers 옵션을 줄 수 있는데 해당 소스에서는 그러한 

부분이 보이지 않네요. 한 번 넣어보시구요. 혹시 강의중에 누락이라면 제가 수정하도록 하겠습니다.

감사합니다.

https://docs.python.org/3/library/concurrent.futures.html

with ThreadPoolExecutor(max_workers=1) as executor:
    future = executor.submit(pow, 323, 1235)
    print(future.result())