July 4
In un passato non troppo lontano, i computer semplicemente simulato il fatto che sono stati multitasking. Con dual core e o più processori, i computer simulano più multitasking, che in realtà sono multitasking. In molti casi il sistema operativo suddiviso compiti per funzionare su processori diversi, ma come sviluppatore utilizzando Visual Basic .NET non è possibile esplicitamente multi-infilare l'applicazione.
1 Avviare Visual Basic e creare un nuovo progetto Windows Form.
2 Aggiungere "Le importazioni System.Threading" come prima riga nel file di codice per il modulo principale.
3 Posizionare un pulsante e cinque pulsanti di opzione nel modulo principale. Modificare il testo del pulsante a "Discussione Spawn" e etichettare i pulsanti di opzione "basso", "Sotto Normal", "Normal", "superiore al normale" e "alto". Nome i pulsanti di opzione "RB1," "RB2," "RB3", "RB4" e "RB5", rispettivamente.
4 Aggiungere questo codice per l'azione click del pulsante:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim t Come Discussione
t = nuova discussione (AddressOf Me.BackgroundProcess)
Se rb1.Checked Poi
t.Priority = ThreadPriority.Lowest
ElseIf rb2.Checked Poi
t.Priority = ThreadPriority.BelowNormal
ElseIf rb3.Checked Poi
t.Priority = ThreadPriority.Normal
ElseIf rb4.Checked Poi
t.Priority = ThreadPriority.AboveNormal
ElseIf rb5.Checked Poi
t.Priority = ThreadPriority.Highest
Finisci se
t.Start ()
End Sub
5 Un altro sub di routine per questo file come specificato qui:
Private Sub BackgroundProcess()
Dim f come nuovo ape operaia
f.Show ()
End Sub
Si noti che questo crea un altro modulo chiamato "ape operaia" che non è stato ancora creato, in modo da ignorare l'errore, per ora.
6 Aggiungere un'altra forma al progetto e il nome "ape operaia" e inserire un'etichetta sul modulo chiamato "label1." Questo dovrebbe essere il nome di default per l'etichetta.
7 Aggiungere i seguenti due subroutine al file di codice del ape operaia:
Private Sub WorkerBee_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated
'Fare l'attività del thread qui, o chiamare qualche altro di routine (s)
Dim i As Integer = 1
Do While True
Label1.Text = "iterazioni:" + i.ToString
i + = 1
Application.DoEvents ()
Ciclo continuo
End Sub
Private Sub WorkerBee_FormClosing (ByVal sender As Object, ByVal e come System.Windows.Forms.FormClosingEventArgs) Maniglie Me.FormClosing
'Interrompere il filo quando il modulo chiude, altrimenti l'applicazione solito vicino
Thread.CurrentThread.Abort()
End Sub
8 Eseguire l'applicazione. Selezionare diversi pulsanti di opzione e fare clic sul pulsante per generare il filo con il dato priorità. Si noti come le discussioni con la stessa priorità rimangono circa lo stesso numero di parte sulle iterazioni, ma un filo ad alta priorità aumenta rapidamente nel corso di un filo a bassa priorità.