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

Seleccione idioma Seleccione idioma
Id. de artículo: 315577 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

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)
        Loop
    End 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).

Propiedades

Id. de artículo: 315577 - Última revisión: miércoles, 16 de enero de 2013 - Versión: 6.0
La información de este artículo se refiere a:
  • Microsoft Visual Basic 2005
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Palabras clave: 
kbvs2005swept kbvs2005applies kbhowtomaster kbmt KB315577 KbMtes
Traducción automática
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

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com