Bonjour,
Je développe une appli winform MDI dans laquelle (comme son nom l'indique) on est capable d'ouvrir plusieurs sous fenêtres au sein desquelles on peut lancer le téléchargement de données via web services.
Donc, dans chaque sous fenêtre j'ai un objet BackgroundWorker et un proxy web service. Le backgroundWorker lance l'appel à la méthode web en tache de fond. Tout ça fonctionne très bien.
Si j'ouvre deux fenêtres et que je lance le téléchargement, j'ai bien mes deux progressBar qui avancent en parallèle.
Par contre, si j'ouvre 4 fenêtres et que je lance les 4 téléchargements, seuls les deux premiers se lancent en parallèle et dès que l'un d'entre eux se termine, le 3ème démarre.
En fait, tout se passe comme si j'avais un pool de 2 Thread. Quoi que je fasse je ne suis pas capable de lancer plus de 2 téléchargement simultanément.
Y a t-il une limitation du backgroundWorker?? Pourtant j'ai bien une instance de backGroundWorker par fenêtre fille.
(Pour info, j'ai un dual core et j'ai vaguement l'impression que le chiffre 2 vient de là)
Partager