Dans un passé pas si lointain , les ordinateurs simplement simulé le fait qu'ils ont été multitâche. Avec deux cœurs et ou plusieurs processeurs, les ordinateurs ne simulent multitâche, ils sont réellement multitâche. Dans de nombreux cas, le système d'exploitation va répartir les tâches à exécuter sur différents processeurs , mais en tant que développeur utilisant Visual . NET de base, il n'est pas possible de manière explicite multi-thread de l'application. Instructions
1
Démarrez Visual Basic et créez un nouveau projet Windows Forms .
2
Ajouter " Imports System.Threading " sur la première ligne dans le fichier de code de la principale forme .
3
place un bouton et cinq boutons radio sur le formulaire principal . Modifier le texte du bouton de " Spawn fil" et l'étiquette des boutons radio " bas ", " Inférieure à la normale ", "Normal ", " Above Normal" et " Plus ". Nommez les boutons " RB1 ," radio " RB2 ", " RB3 », « rb4 " et " RB5 " respectivement
4
Ajouter ce code pour l'action de clic sur le bouton : .
Private Sub Button1_Click ( expéditeur de ByVal comme System.Object , ByVal e As System.EventArgs ) Handles Button1.Click
Dim t en tant que fils
t = Nouveau sujet ( AddressOf Me.BackgroundProcess ) < br >
Si rb1.Checked Puis
t.Priority = ThreadPriority.Lowest
ElseIf rb2.Checked Puis
t.Priority = ThreadPriority.BelowNormal
< p> ElseIf rb3.Checked Puis
t.Priority = ThreadPriority.Normal
ElseIf rb4.Checked Puis
t.Priority = ThreadPriority.AboveNormal
ElseIf rb5.Checked Puis
t.Priority = ThreadPriority.Highest
End If
t.Start ()
End Sub
< br > 5
autre sous routine à ce fichier comme indiqué ici:
Private Sub BackgroundProcess ()
f As New Collaborateur
f.Show () < br >
End Sub
Notez que cela crée une autre forme appelée « Collaborateur » qui n'a pas été créé pour l'instant , donc ignorer l'erreur pour l'instant.
6
Ajouter une autre forme de le projet et nommez-le « Collaborateur » et placer une étiquette sur le formulaire intitulé « étiquette1 . " Cela devrait être le nom par défaut de l'étiquette
7
Ajoutez les deux sous-programmes suivants dans le fichier de code du Collaborateur : .
Private Sub WorkerBee_Activated ( sender As Object , ByVal e en tant que système . EventArgs ) Poignées Me.Activated
«Faites l'activité du thread ici , ou appeler une autre routine (s)
Dim i As Integer = 1
Do While vrai
Label1.Text = " itérations :" + i.ToString
i + = 1
Application.DoEvents ()
boucle
End Sub
WorkerBee_FormClosing Private Sub ( sender As Object , ByVal e Comme System.Windows.Forms.FormClosingEventArgs ) Poignées Me.FormClosing
« Abandonner le fil lorsque le formulaire se ferme , sinon l'application habitude de fermer
Thread.CurrentThread.Abort ()
End Sub
8
exécuter l'application. Choisissez différents boutons radio et cliquez sur le bouton pour frayer le fil avec la priorité donnée . Remarquez comment les discussions avec le même séjour en priorité sur le même nombre d'intervalle sur les itérations , mais un fil de haute priorité augmente rapidement sur un fil de faible priorité .