Contente
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.
Instruções
Sub-rotinas em segundo plano são excelentes para processos longos (Kutay Tanir/Photodisc/Getty Images)-
Execute o Visual Basic e crie um novo projeto do tipo formulário do Windows.
-
Ponha na primeira linha do código do arquivo:
"Imports System.Threading"
E adicione:
"Dim t As Thread"
à seção principal do formulário.
-
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".
-
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.
-
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
-
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.
-
Rode o programa e clique no único botão do formulário. Isto iniciará o processo destinado a ser executado em segundo plano.
Dicas
- 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.
O que você precisa
- Visual Basic