Je suis en train d'écrire une application graphique qui télécharge régulièrement des données via une connexion web. Depuis cette recherche prend du temps, ce qui provoque l'INTERFACE utilisateur ne répond pas pendant le processus de récupération (il ne peut pas être divisé en parties plus petites). C'est pourquoi je tiens à externaliser la connexion par le web à un autre thread.
[Oui, je sais, maintenant, j'ai deux problèmes.]
De toute façon, l'application utilise PyQt4, donc j'aimerais savoir ce que le meilleur choix est: l'Utilisation de Qt fils ou utiliser le Python threading
module? Quels sont les avantages / inconvénients de chacun? Ou avez-vous une autre suggestion?
Edit (re bounty): Alors que la solution dans mon cas particulier sera probablement à l'aide d'un non-blocage de la demande de réseau comme Jeff Ober et Lukáš Lalinský suggéré (donc en gros, en laissant les problèmes de simultanéité de la mise en réseau mise en œuvre), je voudrais encore un peu plus en profondeur, de répondre à la question générale:
Quels sont les avantages et les inconvénients de l'utilisation de PyQt4 (Qt) les threads natifs Python threads (à partir de l' threading
module)?
Edit 2: Merci à tous pour vous réponses. Bien qu'il n'y a pas 100% d'accord, il semble y avoir un consensus général que la réponse est "l'utilisation de Qt", puisque l'avantage est que l'intégration avec le reste de la bibliothèque, tout en ne provoquant pas d'inconvénients réels.
Pour ceux qui cherchent à choisir entre les deux threading implémentations, j'ai fortement recommandé de lire toutes les réponses fournies ici, y compris le PyQt liste de diffusion thread que l'abbé de liens.
Il y avait plusieurs réponses que j'ai retenus pour la générosité; à la fin, j'ai choisi de l'abbé de la très pertinente de référence externe; il était, cependant, un appel à proximité.
Merci encore.