-
Problème Thread
Bonjour à tous,
Voilà, c'est très simple? J'ai une application possédant plusieurs ListView... Cette application doit exécuter une requête SQL parfois assez lourde puis afficher le résultat dans les différents ListView de l'appli... Mon idée était la suivante: créer un thread se chargeant d'exécuter la requête SQL et d'afficher le résultat. De cette manière, l'utilisateur pourrait annuler l'exécution de la requête... Seulement voilà, visiblement les ListView ne sont pas Thread safe j'ai donc un gros problème selon moi... Comme pourrais-je faire puisque de toute facon c'est le thread principal de l'appli qui devra afficher le résultat de ma requête (<=> ListView). Je suis donc obligé de faire patienter mon appli (attente d'un événement) jusqu'à ce que le thread de recherche soit terminé... donc autant pas faire de thread... Quelqu'un aurait-il une solution ???
Merci d'avance...
-
Salut,
La solution c'est de faire exécuter ta requete sql par un thread et de mettre à jour ta liste dans ton thread principal. J'ai lu des choses intéressantes à ce sujet ici : http://www.yoda.arachsys.com/csharp/...winforms.shtml , autant que tu le lises ça ira plus vite que mes explications (et t'apprendras + de choses :) )
-
Merci beaucoup, je vais lire ca...
-
en .NET 2.0, il y a plus simple : le composant BackgroundWorker :
http://glarde.developpez.com/dotnet/bgworker/
-
Yep je sais, mais j'aime parfois me compliquer la vie, juste pour le sport :D Merci pour l'article, c'est exactement ce qu'il me faut !!!
-
Juste pour préciser qu'il y a un article en fr sur développez qui explique le problème...
http://drq.developpez.com/dotnet/articles/threads/