Threads en VB.NET


Prohibida la reproducción total o parcial de este artículo sin el previo consentimiento de Webtutoriales.com

Sencillo ejemplo de threads en VB.NET

En este ejemplo veremos cómo crear un thread en vb.net en el que ejecutaremos una función en modo background mientras seguimos con la ejecución principal del programa.

Primero hay que importar la librería System.Threading (antes de iniciar la clase).

Imports System.Threading

Dentro de la clase definimos los atributos que contendrán el Thread y la función que invocará.

Dim nuestroThread As Thread
Dim nuestroThreadStart As New ThreadStart(AddressOf ActualizacionesBackground)
Dim CallFuncionGenerar As New MethodInvoker(AddressOf Me.FuncionGenerar)

Dentro de Form_Load (la función que se llama al cargar la aplicación) podemos asignar el thread en modo background para que no interfiera con el curso principal del programa, e iniciarlo con el método Start.

nuestroThread = New Thread(nuestroThreadStart)
nuestroThread.IsBackground = True
nuestroThread.Name = "nuestroThread"
nuestroThread.Start()

Al iniciar, el thread llamará a una función llamada ActualizacionesBackground creada por nosotros mismos, en dónde, por ejemplo, se puede escribir un bucle que espere cada X tiempo a llamar la función que queramos.

While True
Me.BeginInvoke(CallFuncionGenerar)
Thread.Sleep(15000)
End While

Código Completo

Imports System.Threading
Public Class Form1
    Dim nuestroThread As Thread
    Dim nuestroThreadStart As New ThreadStart(AddressOf ActualizacionesBackground)
    Dim CallFuncionGenerar As New MethodInvoker(AddressOf Me.FuncionGenerar)
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Try
            nuestroThread = New Thread(nuestroThreadStart)
            nuestroThread.IsBackground = True
            nuestroThread.Name = "nuestroThread"
            nuestroThread.Start()
        Catch ex As Exception
        End Try
    End Sub
    Public Sub FuncionGenerar()
        Me.Active_guestsTableAdapter.Fill(Me.FontreactorDataSet.active_guests)
    End Sub
    Public Sub ActualizacionesBackground()
        While True
            Me.BeginInvoke(CallFuncionGenerar)
            Thread.Sleep(15000)
        End While
    End Sub
End Class

El ejemplo es muy básico. Pero sirve para entender el comportamiento de los threads en vb.net.

Detalles sobre este artículo

Enviado por Webtutoriales.com:
Fecha Publicación: 27.11.2008
Este artículos ha sido visto 4.783 veces.
Vota este artículo:

  • Currently 1.00/5
  • 1
  • 2
  • 3
  • 4
  • 5

1.0/5 de 2 votos

Otros Artículos Relacionados

Enlaza Este Artículo Desde tu Web

El enlace se verá así: Threads en VB.NET

Comentarios

Si tienes algún comentario o sugerencia, utiliza el formulario. Enviar Comentario

  COMENTARIOS
No se han escrito comentarios para este artículo.