J'ai développé cette source afin de faire du multi-thread et d'afficher des données à partir de chacune des threads lancées.
Le programme lance un nombre x de thread, chaque thread affiche un cercle en mouvement et qui change de direction lorsque celui-ci approche d'un mur.
Cette source est seulement une ébauche pour vous aider dans le développement de multi-thread, j'en ai pas trouvé beaucoup sur internet qui soit en vb 2008.
Source / Exemple :
Private Sub Demarrer()
Dim i As Integer
Dim threadCercle As Thread
Dim haut As Integer
Dim Gauche As Integer
Dim Droite As Integer
Dim Bas As Integer
For i = 0 To 5 'Max 99
'Initialiser les données pour les formes
mTab(i) = New Renseignement
mTab(i).Forme = EForme.Cercle 'Présentement, on forme le cercle puisque les autres ne sont pas codé
'mTab(i).Forme = RandomClass.Next Mod 3
mTab(i).Grosseur = RandomClass.Next Mod 40 'Une grosseur max de 40
haut = 10 + RandomClass.Next Mod 90 '100 correspond à la grosseur maximum de la forme
Gauche = 10 + RandomClass.Next Mod 90
Droite = mTab(i).Grosseur
Bas = mTab(i).Grosseur
mTab(i).Rectangle = New RectangleF(haut, Gauche, Bas, Droite)
mTab(i).Couleur = Color.FromArgb(RandomClass.Next Mod 256, RandomClass.Next Mod 256, RandomClass.Next Mod 256)
mTab(i).Vitesse = 10 + RandomClass.Next Mod 190 '10 + random de 190, donc minimum de 10 et max de 200 mini seconde entre les mouvements
mTab(i).Distance = New Point(RandomClass.Next Mod 30, RandomClass.Next Mod 30) 'la distance maximum est 30
Select Case mTab(i).Forme
Case EForme.Cercle
threadCercle = New Thread(AddressOf Cercle)
threadCercle.Name = "Cercle_" & i
mTab(i).MonThread = threadCercle 'Garder dans la classe le thread
threadCercle.Start(i)
Case EForme.Carrer
'Pas encore codé
Case EForme.Ligne
'Pas encore codé
End Select
Next
Thread.Sleep(50)
End Sub
Conclusion :
une source qui m'as aidé
http://www.vbfrance.com/codes/EXEMPLE-SYNCHRO-MULTI-THREAD-DEBUTANT_48108.aspx
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.