Thread verwijderen uit list

Status
Niet open voor verdere reacties.

phobia

Terugkerende gebruiker
Lid geworden
4 sep 2006
Berichten
1.777
Ik gebruik
Private ThreadList As New List(Of Threading.Thread)
Om mijn threads te verzammelen.
Maar nu wil ik een thread in de list stoppen en verwijderen
voor ik de aangemaakte thread in de list stop stel ik de name property in van de thread

vervolgens probeer ik aan de hand van de thread.name de thread in de list te vinden en die thread uit de list te verwijderen

Private Sub removeThread(ByVal threadName As String)
Try
TextBox2.Clear()
For Each t As Threading.Thread In ThreadList
If t.Name = threadName Then
t.Abort()
ThreadList.Remove(t)
End If
Next
For Each p As Threading.Thread In ThreadList
TextBox2.AppendText("Thread " & p.Name & vbNewLine)
Next
Label5.Text = "Server Console Users: " & ThreadList.Count.ToString
Catch ex As Exception
Label5.Text = "Server Console Users: " & ThreadList.Count.ToString
MsgBox("Remove thread ERROR: " & ex.Message)
End Try
End Sub
maar de threads blijven in de list zitten en ik krijg ze er maar niet uit.
Weet iemand misschien wat ik fout doe?
 
Waar gaat het mis?

Het remove commando geeft een true/false. als remove "false" terug geeft is er een probleem daar.

Ik zelf gebruik volgens mij (bij numbered index):

threadlist[x] = null;
threadlist.removeat(x);

De threat sluit dan als het goed is zelf, maar ik zou dat even moeten opzoeken.
 
Je weet zeker dat je de threadList goed vult? Dat daar niet de fout zit zodat de list leeg is?

Zou je dan a.u.b nog code-tags om je code heen willen plaatsen, en misschien ook wat inspringingen toevoegen zodat het wat makkelijker lezen is?

MartinJM
 
Via google kwam ik op deze oplossing
ThreadList.RemoveAll(Function(x) x.Name = threadName)

omdat ik hebruik maakt van de threadlist om te zoeken naar de thread.name, kon ik de item niet verwijderen omdat die op dat moment gebruikt werd
 
Fijn dat het is opgelost! Druk je dan ook even op 'vraag opgelost'?:thumb:

MartinJM
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan