Multi thread avec affichage

Description

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

Codes Sources

A voir également

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.