En tråd på computer er en proces. Mange Visual Basic . NET programmer er single threaded , hvilket betyder at programmet er tråden og --- fra perspektivet af Windows --- hvert program er en tråd . Visual Basic . NET tillader hvert program , der skal skrives til at drage fordel af flere tråde . Hvis programmet skal gøre en lang beregning , kan gyde fra en tråd til at udføre opgaven , og dermed ikke holder op brugeren og vist mere lydhør. Ting du skal
Visual Basic . NET 2005 eller højere
Windows 2000 eller højere
Vis Flere Instruktioner
Start Visual Basic
1
Start en ny Windows Form Application projekt i Visual Basic. NET giver det et passende navn , noget lignende " VB Thread Eksempel ". Dette vil skabe en ny ansøgning for dig med en hoved formular.
2
Skift til koden bag for den vigtigste form , og tilføj " Import System.Threading "
øverst . Dette importerer . " Netto" namespace nødvendig for at arbejde med tråde.
3
Opret rutine, som vil være tråden opgave. Her er et simpelt eksempel , der blot tæller 0-10.000 : Hej
Public Sub LongProcess ()
Dim Index As Integer
Index = 0 Til 10000
< p> Application.DoEvents ()
Næste
MsgBox ( " Thread Afsluttet " )
End Sub
Dette vil simulere lang kører processen. Lange beregninger for langsomme database opkald ville være gode kandidater til at omslutte i en rutine, som derefter kan skrues
4
Tilføj en knap til formularen , og i det klik handleren starte opgaven : .
< p> Dim t Som Thread
t = ny tråd ( AddressOf LongProcess )
t.Start ()
MsgBox ( "Program Afsluttet " )
Vær særlig meddelelse om placeringen af MsgBox kommandoer. Sekventiel programmering ville indebære, at "Completed Tråd" ville være den første besked boks vises. Som du kan se , når programmet køres , er dette ikke tilfældet .
5.
Kør " VB Thread Eksempel "-programmet , og klik på knappen på formularen. Bemærk, at "Program Afsluttet "-meddelelse vises først. Dette skyldes, at programmet " opfostrede " den tråd, der stadig arbejder , når den er færdig er det budskab box vises. Gør tælleren gå højere for at øge denne forsinkelse .