Codigos de visual basic
Visual Studio 2008
Otras versiones
Este tema aún no ha recibido ninguna valoración - Valorar este tema
Actualización: noviembre 2007
Con Visual Basic, puede crear aplicaciones que realicen varias tareas de forma simultánea. Las tareas con la posibilidad de mantener otras tareas pueden ejecutarse en subprocesos separados, un proceso que se conocecomo subprocesamiento múltiple o subprocesamiento libre.
Las aplicaciones que utilizan el subprocesamiento múltiple son más receptivas a los datos proporcionados por el usuario porque la interfaz de usuario permanece activa cuando se ejecutan tareas con un consumo de procesador elevado en subprocesos independientes. El subprocesamiento múltiple también es útil cuando se crean aplicaciones escalables, porque sepueden agregar subprocesos a medida que aumenta la carga de trabajo.
Utilizar el componente BackgroundWorker
La manera más confiable de crear una aplicación multiproceso consiste en utilizar el componente BackgroundWorker. Esta clase administra un subproceso independiente dedicado a procesar el método que se especifique. Para obtener un ejemplo, vea Tutorial: Subprocesamiento múltiple.
Parainiciar una operación en segundo plano, cree un componente BackgroundWorker que escuche los eventos que indican el progreso de la operación y señale la finalización de la operación. Puede crear el objeto BackgroundWorker mediante programación o puede arrastrarlo al formulario desde la fichaComponentes del Cuadro de herramientas. Si crea BackgroundWorker en el Diseñador de formularios, aparece enla Bandeja de componentes y sus propiedades se muestran en la ventana Propiedades.
Configuración para una operación en segundo plano
Para preparar una operación en segundo plano, agregue un controlador de eventos al evento DoWork. Llame a la operación que consume tiempo en este controlador de eventos.
Para iniciar la operación, llame a RunWorkerAsync. Para recibir notificaciones de actualizacionesdel progreso, controle el evento ProgressChanged. Para recibir una notificación cuando finalice la operación, controle el evento RunWorkerCompleted.
Los métodos que controlan los eventos ProgressChanged y RunWorkerCompleted pueden tener acceso a la interfaz de usuario de la aplicación, ya que se inician en el subproceso que ha llamado el método RunWorkerAsync. Sin embargo, el controlador deeventos DoWork no puede trabajar con ningún objeto de la interfaz de usuario porque se ejecuta en el subproceso en segundo plano.
Crear y usar subprocesos
Si necesita más control sobre el comportamiento de los subprocesos de la aplicación, puede administrar los subprocesos personalmente. Sin embargo, debe ser consciente de que escribir aplicaciones multiproceso correctas puede ser difícil: laaplicación puede dejar de responder o experimentar errores transitorios debido a las condiciones de anticipación. Para obtener más información, vea Componentes seguros para subprocesos.
En Visual Basic se puede crear un subproceso mediante la declaración de una variable del tipo Thread y la llamada al constructor con la instrucciónAddressOf y el nombre del procedimiento o método que se desea ejecutaren el nuevo subproceso. El código siguiente proporciona un ejemplo:
VB
Dim TestThread As New System.Threading.Thread(AddressOf TestSub)
Iniciar y detener subprocesos
Para iniciar la ejecución de un nuevo subproceso, utilice el método Start, como en el código siguiente:
VB
TestThread.Start()
Para detener la ejecución de un subproceso, utilice el método Abort, como en el códigosiguiente:
VB
TestThread.Abort()
Además de iniciar y detener subprocesos, también se pueden realizar pausas en los subprocesos llamando a los métodos Sleep o Suspend, reanudar un subproceso suspendido con el método Resume y destruir un subproceso mediante el método Abort, como en el código siguiente:
VB
TestThread.Sleep(1000)
TestThread.Abort()
Métodos de subproceso
En la tabla...
Regístrate para leer el documento completo.