I en ikke så fjern fortid , computere simpelthen simuleret det faktum, at de var multitasking. Med dobbelt kerner og eller flere processorer , der ikke længere computerne simulere multitasking, de rent faktisk multitasking. I mange tilfælde operativsystemet vil opdele opgaver op til at køre på forskellige processorer , men som udvikler hjælp af Visual Basic . NET er det ikke muligt at eksplicit multi- tråd ansøgningen . Instruktioner
1
Start Visual Basic , og opret en ny Windows Forms projekt.
2
Tilføj " Import System.Threading " som den første linje i koden filen for de vigtigste formular.
3
Placer en knap og fem radioknapper på den vigtigste form . Skift knappen tekst til " Spawn Tråd" og mærke alternativknapperne "laveste ", " under det normale ", "Normal ", " Above Normal" og " Højeste ". Navngiv radio knapperne " RB1 , " " RB2 , " " RB3 , " " RB4 " og " RB5 " hhv
4
Tilføj denne kode til knappens klik handling : .
private Sub Button1_Click ( ByVal afsender Som System.Object , ByVal e Som System.EventArgs ) Handles Button1.Click
Dim t Som Thread
t = ny tråd ( AddressOf Me.BackgroundProcess ) < br >
Hvis rb1.Checked Så
t.Priority = ThreadPriority.Lowest
EllersHvis rb2.Checked Så
t.Priority = ThreadPriority.BelowNormal
< p> EllersHvis rb3.Checked Så
t.Priority = ThreadPriority.Normal
EllersHvis rb4.Checked Så
t.Priority = ThreadPriority.AboveNormal
EllersHvis rb5.Checked Så
t.Priority = ThreadPriority.Highest
End If
t.Start ()
End Sub
< br > 5
En anden sub rutine til denne fil som angivet her : Hej
Private Sub BackgroundProcess ()
Dim f As New WorkerBee
f.Show () < br >
End Sub
Bemærk , at dette skaber en anden form kaldet " WorkerBee ", der er ikke oprettet endnu, så ignorere fejlen for nu.
6
Tilføj en anden form for projektet og navnet det " WorkerBee " og placere en etiket på formularen kaldet " Label1 ". Dette bør være standard navn for mærket
7
Tilføj følgende to subrutiner til WorkerBee kode fil: .
Private Sub WorkerBee_Activated ( ByVal afsender Som Object , ByVal e Som System . EventArgs ) Håndtag Me.Activated
' Gør aktiviteten af tråden her , eller ring anden rutine ( r)
Dim i As Integer = 1
Do While ægte
Label1.Text = " Gentagelser :" + i.ToString
i + = 1
Application.DoEvents ()
Loop
End Sub
Private Sub WorkerBee_FormClosing ( ByVal afsender Som Object , ByVal e Som System.Windows.Forms.FormClosingEventArgs ) varetager Me.FormClosing
' Abort tråden når formularen lukker , ellers app plejer lukke
Thread.CurrentThread.Abort ()
End Sub
8
Kør programmet . Vælg forskellige radioknapper og klik på knappen for at gyde tråden med prioritet. Bemærk, hvordan tråde med samme prioritet opholdet nogenlunde samme antal mellemrum på de iterationer , men en højt prioriteret tråd hurtigt stiger over en lav prioritet tråd.