En un pasado no muy lejano , las computadoras simplemente simular el hecho de que estaban multitarea . Con dos núcleos y varios procesadores o los ordenadores ya no simular multitarea , que en realidad son multitarea . En muchos casos, el sistema operativo se divida las tareas para ejecutarse en diferentes procesadores , sino como un desarrollador utilizando . NET de Visual Basic que no es posible de forma explícita multi- hilo de la aplicación . Instrucciones
1
Inicie Visual Basic y cree un nuevo proyecto de Windows Forms.
2
Añadir " Imports System.Threading " como la primera línea en el archivo de código de la principal formulario.
3
Coloque un botón y cinco botones de opción en el formulario principal . Cambiar el texto del botón de " generar el subproceso " y la etiqueta de los botones de radio " bajo ", " Debajo de lo normal ", "Normal ", " encima de lo normal " y " alto " . Nombre de los botones de radio " rb1 ", " rb2 ", " RB3 ", " rb4 " y " rb5 ", respectivamente
4
Añadir este código para la acción de hacer clic en el botón : .
Private Sub Button1_Click ( remitente de ByVal como System.Object , ByVal e como System.EventArgs ) Handles Button1.Click
Dim t Como Tema
t = New Thread ( AddressOf Me.BackgroundProcess ) < br >
Si rb1.Checked Entonces
t.Priority = ThreadPriority.Lowest
ElseIf rb2.Checked Entonces
t.Priority = ThreadPriority.BelowNormal
< p> ElseIf rb3.Checked Entonces
t.Priority = ThreadPriority.Normal
ElseIf rb4.Checked Entonces
t.Priority = ThreadPriority.AboveNormal
ElseIf rb5.Checked Entonces
t.Priority = ThreadPriority.Highest
End If
t.Start ()
End Sub
< br > 5
Otro sub rutina a este archivo como se especifica aquí:
Private Sub BackgroundProcess ()
f Dim As New Trabajador
f.Show () < br >
End Sub
Tenga en cuenta que esto crea otro formulario llamado " Trabajador " que no ha sido creado todavía, así que ignore el error por el momento .
6
Añadir otra forma de el proyecto y el nombre de " Trabajador " y colocar una etiqueta en el formulario llamado " label1 ". Este debe ser el nombre predeterminado de la etiqueta
7
Agregue los siguientes dos subrutinas de archivo de código del Trabajador : .
Private Sub WorkerBee_Activated (remitente de ByVal como objeto , ByVal e como sistema . EventArgs ) Handles Me.Activated
"Haz la actividad del hilo aquí, o llame otra rutina ( s )
Dim i As Integer = 1
Do While verdaderos
Label1.Text = " iteraciones :" + i.ToString
i + = 1
Application.DoEvents
( ) guía
Loop
End Sub
WorkerBee_FormClosing Sub Private (remitente de ByVal como objeto , ByVal e como System.Windows.Forms.FormClosingEventArgs ) Maneja Me.FormClosing
' Abortar el hilo cuando se cierra el formulario abajo , de lo contrario la aplicación wont close to
Thread.CurrentThread.Abort ()
End Sub
8
ejecutar la aplicación. Seleccione distintos botones de opción y pulsa el botón para generar el hilo con la prioridad dada. Observe cómo las discusiones con la misma estancia prioridad aproximadamente el mismo número , aparte de las iteraciones , pero un hilo de alta prioridad aumenta rápidamente con un hilo de baja prioridad .