Cómo crear subprocesos en Visual Basic .NET o Visual Basic 2005

IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.

Haga clic aquí para ver el artículo original (en inglés): 315577
Resumen
Este artículo describe cómo crear subprocesos en una aplicación de Microsoft Visual Basic .NET o Microsoft Visual Basic 2005 Windows. El espacio de nombres System.Threading proporciona las clases que debe tener para trabajar con subprocesos.

Requisitos

En la lista siguiente se describe el hardware recomendado, software, infraestructura de red y service packs que usted necesita:
  • Microsoft Windows 2000 o Microsoft Windows XP
  • Microsoft Visual Basic .NET o Microsoft Visual Basic 2005
Este artículo se supone que está familiarizado con los temas siguientes:
  • Programación de Visual Basic .NET o programación de Visual Basic 2005
  • Visual Studio .NET o entorno de desarrollo integrado de Visual Studio 2005 (IDE)
  • Tener conocimientos generales de los delegados y subprocesamiento
  • Tener conocimientos generales de Visual Basic .NET o Visual Basic 2005

Crear una aplicación de Visual Basic .NET o Visual Basic 2005 con subprocesos

  1. Inicie Microsoft Visual Studio .NET o Microsoft Visual Studio 2005.
  2. Crear un nuevo proyecto de aplicación para Windows de Visual Basic llamado ThreadWinApp.
  3. Agregue un control Button al formulario. El botón se denomina Button1 de forma predeterminada.
  4. Agregue un componente ProgressBar al formulario. La barra de progreso se denomina ProgressBar1 de forma predeterminada.
  5. Haga clic en el formulario y, a continuación, haga clic en Ver código.
  6. Agregue la siguiente instrucción al principio del archivo:
    Imports System.Threading					
  7. Agregue el siguiente controlador de eventos Click de Button1:
    Private Sub Button1_Click( _    ByVal sender As System.Object, ByVal e As System.EventArgs) _    Handles Button1.Click    MessageBox.Show("This is the main thread")End Sub					
  8. Agregue la siguiente variable a la clase Form1 :
    Private trd As Thread					
  9. Agregue el método siguiente a la clase Form1 :
    Private Sub ThreadTask()    Dim stp As Integer    Dim newval As Integer    Dim rnd As New Random()    Do        stp = ProgressBar1.Step * rnd.Next(-1, 2)        newval = ProgressBar1.Value + stp        If newval > ProgressBar1.Maximum Then            newval = ProgressBar1.Maximum        ElseIf newval < ProgressBar1.Minimum Then            newval = ProgressBar1.Minimum        End If        ProgressBar1.Value = newval        Thread.Sleep(100)    LoopEnd Sub						
    Nota: éste es el código que subyace en el subproceso. Este código es un infinito repetir ese aleatoriamente aumenta o disminuye el valor de ProgressBar1 y, a continuación, espera 100 milisegundos antes de continuar.
  10. Agregue el siguiente controlador de eventos Load de Form1. Este código crea un nuevo subproceso, hace que el subproceso de un subproceso en segundo plano y, a continuación, inicia el subproceso.
    Private Sub Form1_Load( _    ByVal sender As System.Object, ByVal e As System.EventArgs) _    Handles MyBase.Load    trd = New Thread(AddressOf ThreadTask)    trd.IsBackground = True    trd.Start()End Sub					

Comprobar que funciona

  1. Genere y ejecute la aplicación. Tenga en cuenta que el valor en la barra de progreso cambia aleatoriamente. Se trata del subproceso nuevo en funcionamiento.
  2. Para demostrar que el subproceso principal es independiente del subproceso que cambia el valor de ProgressBar , haga clic en el botón en el formulario. Un cuadro de mensaje muestra el siguiente mensaje:
    This is the main thread							
    Esperar la entrada. Observe que el valor de la barra de progreso continúa cambiando.

Solución de problemas

En las aplicaciones más complejas, asegúrese de sincronizar múltiples subprocesos cuando tiene acceso a las variables compartidas. Para obtener más información, consulte los temas relacionados en la documentación de ayuda en pantalla de Visual Basic y SyncLock (instrucción).
subprocesos múltiples

Advertencia: este artículo se tradujo automáticamente

Propiedades

Id. de artículo: 315577 - Última revisión: 01/16/2013 01:44:00 - Revisión: 6.0

Microsoft Visual Basic 2005, Microsoft Visual Basic .NET 2003 Standard Edition, Microsoft Visual Basic .NET 2002 Standard Edition

  • kbvs2005swept kbvs2005applies kbhowtomaster kbmt KB315577 KbMtes
Comentarios