Wątki w aplikacji PyQt: użyj wątków Qt lub wątków Pythona?

Piszę aplikację GUI, która regularnie pobiera dane przez połączenie internetowe. Ponieważ pobieranie to zajmuje trochę czasu, powoduje to, że interfejs użytkownika przestaje odpowiadać podczas procesu pobierania (nie można go podzielić na mniejsze części). Dlatego chciałbym zlecić połączenie internetowe do osobnego wątku roboczego.

[Tak, wiem, teraz mamdwa problemy.]

W każdym razie aplikacja używa PyQt4, więc chciałbym wiedzieć, jaki jest lepszy wybór: Użyj wątków Qt lub użyj Pythonathreading moduł? Jakie są zalety / wady każdego z nich? A może masz zupełnie inną sugestię?

Edytuj (ponownie nagroda): Podczas gdy rozwiązanie w moim szczególnym przypadku prawdopodobnie będzie używało nieblokującego żądania sieciowego, takiego jakJeff Ober iLukáš Lalinský zasugerowałem (więc zasadniczo pozostawienie problemów z współbieżnością implementacji sieci), nadal chciałbym uzyskać bardziej dogłębną odpowiedź na ogólne pytanie:

Jakie są zalety i wady korzystania z wątków PyQt4 (tj. Qt) nad natywnymi wątkami Pythona (zthreading moduł)?

Edytuj 2: Dziękuję wszystkim za odpowiedzi. Chociaż nie ma 100% zgody, wydaje się, że istnieje powszechna zgoda co do tego, że odpowiedź brzmi „użyj Qt”, ponieważ zaletą jest integracja z resztą biblioteki, nie powodując przy tym żadnych rzeczywistych wad.

Dla każdego, kto chce wybrać między dwiema implementacjami wątków, gorąco polecam przeczytanie wszystkich odpowiedzi tutaj, w tym wątku listy dyskusyjnej PyQt, któryopat linki do.

Rozważałem kilka odpowiedzi na nagrodę; w końcu wybrałem opata na bardzo istotne odniesienie zewnętrzne; było to jednak ścisłe połączenie.

Dzięki jeszcze raz.

questionAnswers(7)

yourAnswerToTheQuestion