Bonjour,
j'aimerai savoir comment implémenter / réaliser un "démon" qui scrute un file d'attente (Queue) et traite les requêtes dans la file de manière asynchrone?
J'ai quelque chose du genre :
Dès que je rajoute une tâche, je récupère donc la main de suite, par contre, là ou je bloque c'est de créer un "démon" qui scrute cette liste de taches (qui peut être vide comme contenir 10 taches, a tout moment) et exécute une tache après l'autre et renvoie le résultat à l'appelant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 class CreateurDeTache1 { TacheDemon t = new TacheDemon(); // ... MonDemon.Enqueue(t); } class CreateurDeTache2 { TacheDemon t = new TacheDemon(); // ... MonDemon.Enqueue(t); } class MonDemon { private static Queue<TacheDemon> _listeTaches = new Queue<TacheDemon>(); public static void Enqueue(TacheDemon tache) { _listeTaches.Enqueue(tache); } }
J'avais pensé passer un AsyncCallback en paramètre de ma méthode Enqueue qui serait appelée lorsque la requête serait traitée, mais ça demande de générer un IAsyncResult.
Comment vous y prendriez-vous? Quelle est la meilleure manière de procéder?
Partager