HOWTO: Visual Basic .NET을 사용하여 스레드 만들기

기술 자료 번역 기술 자료 번역
기술 자료: 315577 - 이 문서가 적용되는 제품 보기.
이 문서는 이전에 다음 ID로 출판되었음: KR315577
모두 확대 | 모두 축소

이 페이지에서

요약

Visual Basic .NET에서는 다중 스레드 응용 프로그램을 작성할 수 있습니다. 이 문서에서는 간단한 Visual Basic .NET 응용 프로그램으로 스레드를 만들고 관리하는 방법을 설명합니다.

요구 사항

다음은 권장 하드웨어, 소프트웨어, 네트워크 인프라 및 서비스 팩입니다.
  • Microsoft Windows 2000 또는 Microsoft Windows XP
  • Microsoft Visual Basic .NET
이 문서는 사용자가 다음 항목을 잘 알고 있다고 가정합니다.
  • Visual Basic .NET 프로그래밍
  • Visual Studio .NET 통합 개발 환경(IDE)

스레드가 있는 Visual Basic .NET 응용 프로그램 만들기

  1. Microsoft Visual Studio .NET을 시작합니다.
  2. ThreadWinApp라는 Visual Basic Windows 응용 프로그램 프로젝트를 새로 만듭니다.
  3. 폼에 Button 컨트롤을 추가합니다. 기본적으로 단추의 이름은 Button1입니다.
  4. 폼에 ProgressBar 구성 요소를 추가합니다. 기본적으로 진행률 표시줄의 이름은 ProgressBar1입니다.
  5. 폼을 마우스 오른쪽 단추로 누른 다음 코드 보기를 누릅니다.
  6. 파일의 시작 부분에 다음 문을 추가합니다.
    Imports System.Threading
  7. Button1에 대해 다음 Click 이벤트 처리기를 추가합니다.
    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. Form1 클래스에 다음 변수를 추가합니다.
    Private trd As Thread
  9. 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
    참고: 이것은 스레드의 기초를 이루는 코드입니다. 이 코드는 ProgressBar1의 값을 임의로 늘리거나 줄인 다음 100밀리초 기다렸다가 계속하는 무한 루프입니다.
  10. Form1에 대해 다음 Load 이벤트 처리기를 추가합니다. 이 코드는 새로운 스레드를 만들고, 새 스레드를 백그라운드 스레드로 만든 다음 스레드를 시작합니다.
    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

작동 여부 확인

  1. 응용 프로그램을 빌드하고 실행합니다. 진행률 표시줄의 값이 임의로 바뀝니다. 이것은 작업 중인 새 스레드입니다.
  2. 주 스레드가 ProgressBar 값을 변경하는 스레드와 무관하다는 것을 보여주려면 폼의 단추를 누릅니다. 메시지 상자에 다음 메시지가 표시됩니다.
    This is the main thread
    입력을 기다립니다. 진행률 표시줄의 값이 계속 바뀜을 알 수 있습니다.

문제 해결

더 복잡한 응용 프로그램에서는 공유 변수에 액세스할 때 여러 스레드를 동기화했는지 확인하십시오. 자세한 내용은 Visual Basic 온라인 도움말 설명서의 SyncLock 문과 관련 항목을 참조하십시오.

속성

기술 자료: 315577 - 마지막 검토: 2002년 4월 16일 화요일 - 수정: 1.0
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Visual Basic .NET 2002 Standard Edition
키워드:?
kbhowto kbhowtomaster KB315577

피드백 보내기

 

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