Bonjour,

J'utilise dans mon application un système de ThreadPool, je veux qu'il n'y en ait qu'un à la fois qui fonctionne donc j'ai paramatré le nombre maxi à 1 thread actif.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
        ThreadPool.SetMinThreads(1, 1)
        ThreadPool.SetMaxThreads(1, 1)
Ensuite j'ai fais un test avec une fonction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
Private Sub X(state as object)
Thread.sleep(5000)
Console.Writeline(now)
End Sub
et dans mon main je lance 5 fois cette ligne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
ThreadPool.QueueUserWorkItem(AddressOf X)
Donc chacune des fonctions "X" s'éxécute une à une, ce que je voudrais savoir c'est le nombre en file d'attente, en effet j'en ai mis 5 et je voudrais bien afficher un message quand il ne me reste plus qu'un seul thread à terminer pour connaitre la fin de ma file d'attente, un code de ce genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
Private Sub X(state as object)
Thread.sleep(5000)
Console.Writeline(now)
if ThreadPool.GetNumberOfThreadsInQueue = 1 then Console.Writeline("fini")
End Sub
Auriez vous des idées pour me faire avancer ?
Merci