Como criar threads no Visual Basic .NET ou Visual Basic 2005

Traduções de Artigos Traduções de Artigos
Artigo: 315577 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

Este artigo descreve como criar threads numa aplicação do Microsoft Visual Basic .NET ou o Microsoft Visual Basic 2005 Windows. O espaço de nomes System.Threading fornece as classes que necessita para trabalhar com threads.

Requisitos

A lista seguinte descreve o hardware recomendado, software, infra-estrutura de rede e service packs que necessita:
  • Microsoft Windows 2000 ou Microsoft Windows XP
  • O Microsoft Visual Basic .NET ou o Microsoft Visual Basic 2005
Este artigo pressupõe que está familiarizado com os seguintes tópicos:
  • Programação do Visual Basic .NET ou Visual Basic 2005 programação
  • Visual Studio .NET ou Visual Studio 2005 Integrated Development Environment (IDE)
  • Geral familiaridade com os delegados e módulos
  • Geral familiaridade com Visual Basic .NET ou Visual Basic 2005

Criar uma aplicação do Visual Basic .NET ou Visual Basic 2005 com threads

  1. Inicie o Microsoft Visual Studio .NET ou Microsoft Visual Studio 2005.
  2. Crie um projecto do Visual Basic Windows Application novo denominado ThreadWinApp.
  3. Adicione um controlo de botão ao formulário. O botão chama Button1 por predefinição.
  4. Adicione um componente de ProgressBar ao formulário. A barra de progresso é denominada ProgressBar1 por predefinição.
  5. Clique com o botão direito do rato no formulário e, em seguida, clique em Código .
  6. Adicione a seguinte instrução no início do ficheiro:
    Imports System.Threading
    					
  7. Adiciona o processador de eventos clique em seguinte para 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. Adicione a seguinte variável à classe Form1 :
    Private trd As Thread
    					
  9. Adicione o seguinte método à classe 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 : Este é o código subjacente ao thread. Este código é um infinito repetir esse aleatoriamente incrementos ou diminui o valor ProgressBar1 e, em seguida, aguarda 100 milisegundos antes de continuar.
  10. Adicione o processador de evento carregar seguinte para o Form1 . Este código cria um novo thread, faz com que o thread de um thread em segundo plano e, em seguida, iniciar o thread.
    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
    					

Verificar se funciona

  1. Criar e executar a aplicação. Repare que o valor na barra de evolução aleatoriamente é alterado. Este é o novo thread numa operação.
  2. Para demonstrar que o thread principal é independente do thread que altera o valor de ProgressBar , clique no botão no formulário. Uma caixa de mensagem apresenta a seguinte mensagem:
    This is the main thread
    							
    A aguardar entrada. Repare que o valor na barra de evolução continua a alterar.

Resolução de problemas

Aplicações mais complexas, certifique-se que sincronize vários threads quando acede a variáveis partilhadas. Para mais informações, consulte a declaração de SyncLock e os Tópicos relacionados na documentação de ajuda online do Visual Basic.

Propriedades

Artigo: 315577 - Última revisão: 6 de dezembro de 2006 - Revisão: 4.3
A informação contida neste artigo aplica-se a:
  • Microsoft Visual Basic 2005
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Palavras-chave: 
kbmt kbvs2005swept kbvs2005applies kbhowtomaster KB315577 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 315577

Submeter comentários

 

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