Como rodar sub-rotinas do Visual Basic em segundo plano

Escrito por allen stoner | Traduzido por lean pereira
  • Compartilhar
  • Tweetar
  • Compartilhar
  • Pin
  • E-mail
Como rodar sub-rotinas do Visual Basic em segundo plano
Sub-rotinas em segundo plano são excelentes para processos longos (Kutay Tanir/Photodisc/Getty Images)

Quando um programa de computador precisa executar uma sub-rotina longa, é melhor executá-la como um processo em segundo plano. Um processo em segundo plano normalmente não tem a mesma prioridade do que em primeiro plano, então será executada mais lentamente. Sub-rotinas podem incluir a verificação e download de atualizações, transferência de arquivos de registro ou longos cálculos.

Nível de dificuldade:
Moderado

Outras pessoas estão lendo

O que você precisa?

  • Visual Basic

Lista completaMinimizar

Instruções

  1. 1

    Execute o Visual Basic e crie um novo projeto do tipo formulário do Windows.

  2. 2

    Ponha na primeira linha do código do arquivo:

    "Imports System.Threading"

    E adicione:

    "Dim t As Thread"

    à seção principal do formulário.

  3. 3

    Adicione um botão ao formulário e altere seu nome para "btnStart". Mude o texto do botão para "Iniciar processo em segundo plano".

  4. 4

    Adicione o seguinte código à ação do botão "btnStart":

    Private Sub btnStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStart.Click t = New Thread(AddressOf Me.BackgroundProcess) t.Priority = ThreadPriority.BelowNormal ' Isto dará à sub-rotina ainda menos prioridade t.Start() End Sub

    Esta rotina iniciará um processo em segundo plano e dará a ele uma prioridade abaixo do normal, para que rode com menor velocidade e não interfira nos elementos da navegação do usuário.

  5. 5

    Adicione a seguinte sub-rotina para ser executada em segundo plano:

    Private Sub BackgroundProcess() ' Realize um longo processo aqui, não apenas um loop infinito Do While True Loop End Sub

  6. 6

    Para aprofundar-se, adicione o seguinte código ao método de encerramento do formulário:

    Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing t.Abort() End Sub

    Sem esta rotina, o programa não será encerrado automaticamente porque o processo ainda estará rodando.

  7. 7

    Rode o programa e clique no único botão do formulário. Isto iniciará o processo destinado a ser executado em segundo plano.

Dicas & Advertências

  • Esteja certo de manter tudo na sub-rotina rodando em segundo plano de forma isolada. Sem usar técnicas de processamento mais avançadas, não é possível saber o que ocorre em qualquer momento.

Não perca

Filtro:
  • Geral
  • Artigos
  • Slides
  • Vídeos
Mostrar:
  • Mais relevantes
  • Mais lidos
  • Mais recentes

Nenhum artigo disponível

Nenhum slide disponível

Nenhum vídeo disponível