Gestion d'un ThreadPool

Signaler
Messages postés
3
Date d'inscription
lundi 18 juin 2012
Statut
Membre
Dernière intervention
27 juin 2012
-
Messages postés
792
Date d'inscription
mardi 8 juillet 2003
Statut
Membre
Dernière intervention
12 juillet 2019
-
Bonjour a tous!
Merci de m'accorder un peu de votre temps

J'ai une méthode que j'utilise de manière asynchrone via un ThreadPool (déclenchement sur un click bouton)

public static void GetSearchResultsAsync(string searchString, Action<List<Tweet>> callback)
        {
            ThreadPool.SetMaxThreads(1, 1);
            ThreadPool.QueueUserWorkItem((WaitCallback)(o =>
           {
               var results = GetSearchResults(searchString);
               callback(results);
           }));
        }


Mon problème étant celui ci: Si j’appuie 10fois sur le bouton,
la queue va contenir 10 éléments qui seront exécutés les un après les autres.

Cependant, je n'ai pas besoin de cela, et je voudrai que seul le dernier clic soit exécuté.

(en faite cette méthode rafraichis le contenu d'une listbox, je n'ai donc pas besoin de l’exécuter plusieurs fois, et je voudrai du coup ne prendre que le dernier élément(le plus récent donc) de ma queue )

Merci a vous! je m'en sort pas :s

1 réponse

Messages postés
792
Date d'inscription
mardi 8 juillet 2003
Statut
Membre
Dernière intervention
12 juillet 2019
8
Bonjour,
Et si tu n'autorises le click que lorsque ta tâche est terminée, à l'aide d'un booléen par exemple.


louis