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.
1 2 3
|
ThreadPool.SetMinThreads(1, 1)
ThreadPool.SetMaxThreads(1, 1) |
Ensuite j'ai fais un test avec une fonction :
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 :
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 :
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
Partager