웹 연결을 통해 정기적으로 데이터를 검색하는 GUI 응용 프로그램을 작성하고 있습니다. 이 검색에는 시간이 걸리므로 검색 프로세스 중에 UI가 응답하지 않게됩니다 (작은 부분으로 분할 할 수 없음). 이것이 제가 웹 연결을 별도의 작업자 스레드에 아웃소싱하려는 이유입니다.
[예, 알아요, 이제 두 가지 문제가 있습니다.]
어쨌든 응용 프로그램은 PyQt4를 사용하므로 Qt의 스레드를 사용하거나 Python threading
모듈을 사용하는 것이 더 나은 선택인지 알고 싶습니다 . 각각의 장단점은 무엇입니까? 아니면 완전히 다른 제안이 있습니까?
편집 (바운티) : 제 특별한 경우의 솔루션은 아마도 Jeff Ober 및 Lukáš Lalinský 와 같은 비 차단 네트워크 요청을 사용하는 것이지만 (따라서 기본적으로 동시성 문제는 네트워킹 구현에 남겨 둡니다), 저는 여전히 더 많은 것을 원합니다. 일반적인 질문에 대한 심도있는 답변 :
( threading
모듈에서) 네이티브 Python 스레드보다 PyQt4 (즉 Qt) 스레드를 사용하는 장점과 단점은 무엇입니까 ?
편집 2 : 답변 해 주셔서 감사합니다. 100 % 동의는 없지만, 그 장점은 라이브러리의 나머지 부분과의 통합이면서도 실질적인 불이익을 유발하지 않기 때문에 대답이 "Qt 사용"이라는 광범위한 합의가있는 것 같습니다.
두 개의 스레딩 구현 중 하나를 선택하려는 사람에게는 abbot이 연결 하는 PyQt 메일 링 목록 스레드를 포함하여 여기에 제공된 모든 답변을 읽어 보는 것이 좋습니다 .
현상금에 대해 몇 가지 답변을 고려했습니다. 결국 나는 매우 관련성이 높은 외부 참조를 위해 abbot을 선택했습니다. 그러나 그것은 긴밀한 요청이었습니다.
다시 한 번 감사드립니다.