2012-07-03 3 views
2

4 개의 다른 시간이 많이 걸리는 작업을 수행하는 작은 응용 프로그램을 만들고 있는데, 첫 번째 출력은 두 번째 입력 등입니다. 모든 작업 수준에서 출력이 목록에 추가되고 다음 작업이 팝업되어 작동하고 출력을 출력 목록에 추가합니다. 작업 완료를 알리는 방법은 여러 스레드 각각의 4 가지 작업에 대해파이썬 : 요구 사항에 따라 스레드 생성

질문에 오면 입력 큐의 작업 수에 따라 각 작업 수준에서 스레드를 생성 할 수있는 방법이 있습니까?

두 번째 작업의 입력 목록이 처음에는 비어 있으므로 숫자 스레드는 0이지만 하나의 작업이 있으면 단일 스레드가 생성되고 두 개는 2 개 등 ... 물론 상한선이 있습니다. 쓰레드의 수는 10이므로, 입력리스트의 길이가 100만큼 길어지면, 쓰레드의 수는 여전히 10에 머물러 있습니다.

이것을 달성하는 방법에 대해 비관적 인 방법을 제안하십시오.

답변

1

Thread Pool을 성공적으로 작성했습니다. 내장형 지원이 있으며 이것을 제공 할 많은 librariesexamples이 있으므로이 코드를 사용하거나 코드에서 배우십시오.

from multiprocessing.pool import ThreadPool 
나는 [멀티 프로세싱 모듈]를 사용하는 것이 좋습니다 것입니다
+0

(http://docs.python.org/library/multiprocessing.html)'아마 당신이 있기 때문에하고 싶은 일을하지 않을 스레드로 수입 Pool' 멀티 프로세싱에서 인터프리터 잠금 설정 –

관련 문제