Jak vytvořit podprocesů v jazyce Visual Basic .NET nebo Visual Basic 2005

Souhrn

Tento článek popisuje, jak vytvořit podprocesů v aplikaci Microsoft Visual Basic .NET nebo Microsoft Visual Basic 2005 Windows. System.Threading obor názvů obsahuje třídy, které je nutné pro práci s vlákny.

Požadavky

Následující seznam obsahuje doporučený hardware, software, síťovou infrastrukturu a aktualizace service Pack, které potřebujete:

  • Microsoft Windows 2000 nebo Microsoft Windows XP
  • Microsoft Visual Basic .NET nebo Microsoft Visual Basic 2005
Tento článek předpokládá, že jste obeznámeni s následující témata:

  • Programování v jazyce Visual Basic .NET nebo Visual Basic 2005 programování
  • Visual Studio .NET nebo Visual Studio 2005 integrované vývojové prostředí (IDE)
  • Obecná znalost delegátů a práce s vlákny
  • Obecná znalost jazyka Visual Basic .NET nebo Visual Basic 2005

Vytvořit Visual Basic .NET nebo Visual Basic 2005 aplikace s podprocesy

  1. Spusťte aplikaci Microsoft Visual Studio .NET nebo Microsoft Visual Studio 2005.
  2. Vytvořte nový projekt aplikace Windows Visual Basic s názvem ThreadWinApp.
  3. Přidání ovládacího prvku tlačítko do formuláře. Tlačítko je ve výchozím nastavení s názvem Button1 .
  4. Přidání komponenty ProgressBar do formuláře. Indikátor průběhu se ve výchozím nastavení nazývá ProgressBar1 .
  5. Klepněte pravým tlačítkem myši formulář a potom klepněte na tlačítko Zobrazit kód.
  6. Na začátek souboru přidejte následující příkaz:
    Imports System.Threading
  7. Přidejte následující klepněte na tlačítko obslužnou rutinu události pro 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. Přidejte následující proměnné třídy Form1 :
    Private trd As Thread
  9. Přidejte následující metodu třídy 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

    Poznámka: Toto je kód podkladovou podprocesu. Tento kód je nekonečno opakování této náhodně přírůstky nebo sníží hodnota v ProgressBar1 a poté čeká 100 milisekund před pokračuje.
  10. Přidáte následující obslužné rutině události Load Form1. Tento kód vytvoří nový podproces provede podprocesu podprocesem na pozadí a potom spustí podprocesu.
    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

Ověřte, zda funguje

  1. Sestavte a spusťte aplikaci. Všimněte si, že hodnoty v indikátoru průběhu změní náhodně. Toto je nový podproces v provozu.
  2. Chcete-li prokázat, že hlavní podproces je nezávislý podproces, který změní hodnotu ProgressBar , klepněte na tlačítko ve formuláři. Okno se zprávou se zobrazí následující zpráva:
    This is the main thread

    Čekání na vstup. Všimněte si, že hodnoty v indikátoru průběhu i nadále měnit.

Poradce při potížích

Složitější aplikace Ujistěte se, synchronizaci více vláken při přístupu k sdílené proměnné. Další informace naleznete v prohlášení SyncLock a Příbuzná témata v dokumentaci Online nápověda pro Visual Basic.
Vlastnosti

ID článku: 315577 - Poslední kontrola: 20. 1. 2017 - Revize: 1

Váš názor