In de niet - zo-ver verleden , computers gewoon gesimuleerde het feit dat ze werden multitasking . Met dual cores en of meerdere processors , de computers niet meer simuleren multitasking , ze daadwerkelijk multitasking . In veel gevallen zal het besturingssysteem splitsen taken om te draaien op verschillende processors , maar als een ontwikkelaar met behulp van Visual Basic . NET is het niet mogelijk om expliciet multi-thread toepassing . Instructies 1 Start Visual Basic en maak een nieuw project Forms Windows . 2 Toevoegen " Invoer System.Threading " als de eerste regel in de code -bestand voor de belangrijkste vorm . Plaats 3 op een knop en vijf radio knoppen op de belangrijkste vorm . Verander de knop tekst om " Spawn Thread " en label de keuzerondjes " laagste ", "lager dan normaal ", " Normal ", " Above Normal " en " Hoogste . " Noem de keuzerondjes " RB1 , " " RB2 , " " RB3 , " " RB4 " en " rb5 " respectievelijk 4 Voeg deze code voor de knop actie van de knop : . private Sub Button1_Click ( ByVal afzender als System.Object , ByVal e als System.EventArgs ) Handles Button1.Click Dim t Zoals Thread t = Nieuwe Draad ( AddressOf Me.BackgroundProcess ) < br > Als rb1.Checked t.Priority dan = ThreadPriority.Lowest ElseIf rb2.Checked dan t.Priority = ThreadPriority.BelowNormal ElseIf rb3.Checked dan t.Priority = ThreadPriority.Normal ElseIf rb4.Checked dan t.Priority = ThreadPriority.AboveNormal ElseIf rb5.Checked dan t.Priority = ThreadPriority.Highest End Als t.Start ( ) op End Sub < br 5 ander sub routine > om dit bestand zoals hier aangegeven : Private sub BackgroundProcess ( ) op Dim f als Nieuwe workerbee f.Show ( ) < br End Sub Notice > dat dit leidt tot een andere vorm genaamd " workerbee " die niet is aangemaakt, zodat de fout negeren voor nu . 6 In een andere vorm aan het project en de naam het " workerbee " en plaats een label op het formulier genaamd " label1 . " Dit is de standaard naam voor het label zijn 7 Voeg de volgende twee subroutines om code dossier van de workerbee 's : . Private Sub WorkerBee_Activated ( ByVal afzender als Voorwerp , ByVal e als System . EventArgs ) Handvatten Me.Activated ' Doe de activiteit van de draad hier , of bel een andere routine ( s) van Dim i As Integer = 1 Do While True Label1.Text = " Iterations : " i.ToString i + = 1 Application.DoEvents ( ) Loop + End Sub Private Sub WorkerBee_FormClosing ( ByVal afzender als Voorwerp , ByVal e als System.Windows.Forms.FormClosingEventArgs ) Handles Me.FormClosing ' Afbreken de draad wanneer het formulier naar beneden sluit , anders wordt de app gewoon sluiten Thread.CurrentThread.Abort ( ) End Sub 8 Ren de applicatie . Selecteer verschillende keuzerondjes en klik op de knop om de draad met de gegeven prioriteit paaien . Merk op hoe draden met dezelfde prioriteit verblijf ongeveer hetzelfde aantal uit elkaar op de iteraties , maar een hoge prioriteit thread snel toeneemt dan een lage prioriteit thread .
|