다음을 통해 공유


구성 요소에서 다중 스레딩

BackgroundWorker 구성 요소는 System.Threading 네임스페이스의 스레딩 기능 중 일부를 구현합니다. BackgroundWorker 구성 요소를 사용하면 다중 스레딩 기능을 더 쉽게 구현할 수 있습니다. 자세한 내용은 BackgroundWorker 구성 요소 개요를 참조하십시오.

다중 스레딩 또는 자유 스레딩은 응용 프로그램에서 작업의 여러 스레드를 동시에 실행할 수 있는 기능입니다. 다중 스레드 응용 프로그램의 예로는, 첫 번째 스레드에서 사용자 입력을 받고 두 번째 스레드에서는 여러 가지 복잡한 계산을 수행하고 세 번째 스레드에서는 데이터베이스를 업데이트하는 프로그램이 있습니다. 단일 스레드 응용 프로그램을 사용할 때는 데이터베이스 업데이트나 계산 작업이 끝날 때까지 사용자가 기다려야 할 수도 있습니다. 다중 스레드 응용 프로그램에서는 이러한 작업이 백그라운드에서 수행되므로 사용자가 시간을 낭비하지 않아도 됩니다.

다중 스레딩을 구성 요소 프로그래밍에서 강력한 도구로 사용할 수 있습니다. 다중 스레드 구성 요소를 작성하면 백그라운드에서 복잡한 계산을 수행하는 동안 UI(사용자 인터페이스)에서는 여전히 사용자 입력에 응답할 수 있는 구성 요소를 만들 수 있습니다.

다중 스레딩이 강력한 도구이긴 하지만 제대로 적용하기가 어려울 수도 있습니다. 다중 스레드 코드를 잘못 구현하면 응용 프로그램 성능이 떨어지거나 응용 프로그램 실행이 중지될 수도 있습니다. 다음 항목에서는 다중 스레드 프로그램을 작성할 때 고려할 사항과 최선의 구현 방법을 소개합니다.

.NET Framework에서는 구성 요소의 다중 스레딩에 관한 몇 가지 옵션을 제공합니다. System.Threading 네임스페이스의 기능은 그 중 한 가지 옵션입니다. 이벤트 기반 비동기 패턴도 한 가지 옵션입니다. BackgroundWorker 구성 요소는 비동기 패턴을 구현한 것이며, 편의를 위해 구성 요소에 캡슐화된 고급 기능을 제공합니다.

단원 내용

참조

  • BackgroundWorker 클래스
    별도의 전용 스레드에서 작업을 실행할 수 있습니다.

  • Thread
    .NET Framework 참조에 나오는 구문 및 멤버에 관한 정보를 제공합니다.

관련 단원

Topic Location
스레딩 샘플 C# Sample Applications
스레딩 샘플 C# 샘플 응용 프로그램

참고 항목

기타 리소스

구성 요소 제작

비동기 프로그래밍 디자인 패턴