강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của julheean6295
julheean6295

câu hỏi đã được viết

Python trở thành chuyên gia: Học cú pháp đồng thời và song song Feat. Đa luồng vs Đa xử lý (Inflearn Original)

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

Viết

·

313

0

안녕하세요 질문이 있습니다.

 

스레드 또는 프로세스 최대 생성 개수을 300개로 제한을 두고,

특정 스레드 또는 프로세스의 작업 종료시점에 새로운 스레드 또는 프로세스 생성하여 제한 개수를 지속적으로 유지할 수 있는 방법이 궁금합니다.

 

즉 생성 제한개수 300개는 넘지 않지만

300개 이하시 계속적으로 추가하며 300개를 지속적으로 유지하며 실행할 수 있는 방법이 있을까요?

 

구체적으로 예를들면 300개를 생성했는데

몇개의 프로세스가 작업을 완료하면 300개의 제한선에서 몇개의 생성 가용 개수가 허용될텐데(ex, -3개 종료 시 남은 수 297개: 3개 추가 가능)

이를 다른 스레드나 프로세스 종료를 기다리지 않고, 바로 다시 생성해서 채울 수 있는 방법이 있을까요?(ex, 남은 수 297개 + 추가 가능 3개: 300개)

단 항상 최대 수치는 300개입니다.

 

코멘트 주시면 감사하겠습니다.

(만약 가능하시다면 코드로 말씀해주시면 더욱 감사하겠습니다!)

 

python동시성

Câu trả lời 1

0

niceman님의 프로필 이미지
niceman
Người chia sẻ kiến thức

안녕하세요.

좋은 질문이예요! 예제로 한 번 만들어봐도 좋을 것 같습니다.

임계치의 스레드를 유지하는 방법에 대해서 질문 주신 것 같습니다.

코드를 제공드리는건 쉽지 않을 것 같습니다. 다만, 시간을 가지고 다음 예제로 한 번 추가해 보도록 하겠습니다.

짧은 검색으로는 대기열에 스레드를 담아놓고 완료된 스레드를 체크 후 제거해주고

지속적으로 생성하는 방법이 주로 쓰이는 것 같습니다.

해당 코드는 검색으로는 찾기 힘든것 같네요. 혹여나 발견한다면, 제공드리도록 하겠습니다.

감사합니다. 제가 읽어봤던 링크를 전달 드립니다.

https://discuss.python.org/t/thread-limits/24346/6

https://stackoverflow.com/questions/19369724/the-right-way-to-limit-maximum-number-of-threads-running-at-once

niceman님의 프로필 이미지
niceman
Người chia sẻ kiến thức

https://superfastpython.com/threadpool-python/

threadpool를 사용 후

  1. pool의 사이즈를 정의후(300)

  2. 완료 된 스레드는 제거

  3. 완료 할 스레드는 다시 pool에 주입

형태도 생각해볼 수 있을 것 같습니다.

julheean6295님의 프로필 이미지
julheean6295
Người đặt câu hỏi

답변 감사합니다.

 

제가 이 질문을 드린 이유는 프로그램 동작의 안전성을 위해서

때에 따라서 병렬처리의 프로세스 개수의 제한은 필수적으로 요구될 수 있을 것 같아서입니다.

즉 안전성을 위한 개수를 제한하되, 개수 내의 병렬처리의 효율성을 유지시키고 싶은 생각입니다.

 

강의에서 말씀하신대로 join을 이용하면 자식 프로세스가 완전히 종료 후,

다시 프로세스 개수를 제한하여 안정적으로 동작을 시킬 수 있지만(자식 프로세스의 무제한 생성 방지)

만약 자식 프로세스가 특정 현상(네트워크 지연 트래픽등)으로 처리가 지연된다면

부모가 해당 자식을 기다리게 되어 join을 이용시 병렬 처리의 효율성이 매우 떨어질 것 같습니다.

 

이를 해결하기 위한 파이썬의 문법이나 코딩 기술이 있는지 궁금했습니다.

혹시 추후에 아이디어가 생각나시거나 추가로 코멘트 주실 사항이 있으면

언제든지 연락주시면 감사하겠습니다.

 

Hình ảnh hồ sơ của julheean6295
julheean6295

câu hỏi đã được viết

Đặt câu hỏi