Tecnología

Inicio

Cómo multihilo en Visual Basic

Cómo multihilo en Visual Basic


En un pasado no muy lejano, las computadoras simplemente simularon el hecho de que fueron multitarea. Con dos núcleos y varios procesadores o, los ordenadores ya no simulan la multitarea, que en realidad son multitarea. En muchos casos, el sistema operativo se divide tareas para que se ejecute en diferentes procesadores, sino como un desarrollador utilizando .NET Visual Basic no es posible explícitamente multi-hilo de la aplicación.

Instrucciones

1 Inicie Visual Basic y cree un nuevo proyecto de Windows Forms.

2 Añadir "Las importaciones System.Threading" como la primera línea en el archivo de código para el formulario principal.

3 Coloque un botón y cinco botones de opción en el formulario principal. Cambiar el texto del botón de "Tema Spawn" y la etiqueta de los botones de radio "bajo", "debajo de lo normal", "Normal", "encima de lo normal" y "más alta". Nombrar los botones de radio "RB1," "RB2," "RB3", "RB4" y "RB5", respectivamente.

4 Añadir el código de acción de clic del botón:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim t Como hilo

t = nuevo hilo (AddressOf Me.BackgroundProcess)

Si rb1.Checked Entonces

t.Priority = ThreadPriority.Lowest

Entonces ElseIf rb2.Checked

t.Priority = ThreadPriority.BelowNormal

Entonces ElseIf rb3.Checked

t.Priority = ThreadPriority.Normal

Entonces ElseIf rb4.Checked

t.Priority = ThreadPriority.AboveNormal

Entonces ElseIf rb5.Checked

t.Priority = ThreadPriority.Highest

Terminara si

t.Start ()

End Sub

5 Otro sub-rutina a este archivo como se especifica aquí:

Private Sub BackgroundProcess()

Dim f Como Nuevo abeja obrera

f.Show ()

End Sub

Observe que esto crea otra forma llamada "abeja obrera" que no ha sido creada todavía, así que ignore el error por ahora.

6 Añadir otra forma al proyecto y el nombre "abeja obrera" y colocar una etiqueta en la forma llamada "label1." Este debería ser el nombre predeterminado de la etiqueta.

7 Añadir las dos subrutinas siguientes al archivo de código de la abeja obrera:

Private Sub WorkerBee_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated

"Realizar la actividad del hilo aquí, o llame a alguna otra rutina (s)

Dim i As Integer = 1

Hacer mientras Verdadero

Label1.Text = "Iteraciones:" + i.ToString

i + 1 =

Application.DoEvents ()

Lazo

End Sub

Private Sub WorkerBee_FormClosing (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 planteo cerca

Thread.CurrentThread.Abort()

End Sub

8 Ejecutar la aplicación. Seleccionar los diferentes botones de opción y haga clic en el botón para generar el hilo con la prioridad dada. Observe cómo los hilos con la misma prioridad se mantienen aproximadamente el mismo número de distancia en las iteraciones, pero un hilo de alta prioridad aumenta rápidamente sobre un hilo de baja prioridad.

Consejos y advertencias

  • Muchas veces el hilo costumbre implican un elemento de interfaz de usuario, pero lo hará procesos largos que no son sensibles al tiempo en el fondo.
  • Esto es sólo un ejemplo sencillo de múltiples hilos. Multitarea una aplicación es una habilidad avanzada y debe hacerse con cuidado y un montón de pruebas.
  • Asegúrese de guardar su trabajo antes de ejecutar el programa en el evento el equipo se bloquea y no puede ser salvado.