VB Thread erreur

Bonjour,

j’ai ce message d’erreur en utilisant les threads avec VB :

Le thread est en cours d’exécution ou arrêté ; il ne peut pas redémarrer.

En effet le thread est en statut « Stopped », mais je n’arrive pas à le re-démarrer…

Des idées ?

Merci,
Marco

Je suppose que c’est tout simplement le thread qui a fini ce qu’il avait à faire et qui donc s’est arrêté ? Auquel cas il suffit d’en recréer un…

On pourra peut être t’éclairer un peu plus si tu nous donnes un exemple de code et/ou si tu détailles ton problème :slight_smile:

Ce n’est pas un nouveau thread, c’est un thread trd1 existant qui est en statut « Stopped »…
Que je souhaite passer en « Running »…

Private trd1 As New Thread(AddressOf ThreadConn)
Private trd2 As New Thread(AddressOf ThreadData)
Dim Thrdata As [String] = Nothing
Dim Thrconn As [String] = Nothing

Load de la form
trd1.Start()

Sub ThreadConn()
If TcpServer.Pending <> True Then

tcpClientConnect = TcpServer.AcceptTcpClient
Try
stream = tcpClientConnect.GetStream()
trd2.Start()
Catch ex As Exception
End Try

End If

Sub ThreadData()

Voici le cycle :

Au démarrage = trd1 est RUNNING, trd2 est UNSTARTED
Action utilisateur (Connexion TELNET) = trd1 est STOPPED, trd2 est RUNNING

Comment repasser le trd1 en RUNNING et trd2 en UNSTARTED (A part couper la tâche ;o))

Merci,
Marco

Quand un thread s’arrête, on ne peut pas le relancer. Donc soit tu fais une boucle infinie pour que le thread ne s’arrête jamais (typiquement : une boucle attendant les connections), soit tu en bloques l’exécution avec un mutex, soit tu en relances un nouveau :wink: