다음을 통해 공유


Thread Pools 기술 샘플

업데이트: 2007년 11월

이 샘플에서는 ThreadPool 클래스를 사용하는 방법을 보여 줍니다. 이 샘플에서는 공용 언어 런타임에서 관리하는 스레드 풀의 스레드에서 수행하는 비동기적 메서드 호출을 큐에 넣습니다.

샘플 사용에 대한 자세한 내용은 다음 항목을 참조하십시오.

Download sample

명령 프롬프트를 사용하여 샘플을 빌드하려면

  1. 명령 프롬프트 창을 열고 샘플에 대한 언어별 하위 디렉터리 중 하나로 이동합니다.

  2. 선택한 프로그래밍 언어에 따라 명령줄에서 msbuild PoolsCS.sln 또는 msbuild PoolsVB.sln을 입력합니다.

Visual Studio를 사용하여 샘플을 빌드하려면

  1. Windows 탐색기를 열고 샘플에 대한 언어별 하위 디렉터리 중 하나로 이동합니다.

  2. 선택한 프로그래밍 언어에 따라 PoolsCS.sln 또는 PoolsVB.sln 아이콘을 두 번 클릭하여 Visual Studio에서 해당 파일을 엽니다.

  3. 빌드 메뉴에서 솔루션 빌드를 클릭합니다.

이 샘플을 실행하려면

  1. 명령 프롬프트를 사용하여, 빌드된 실행 파일이 포함된 디렉터리로 이동합니다.

  2. 명령줄에서 AsyncMethod.exe를 입력합니다.

    참고:

    이 샘플은 콘솔 응용 프로그램을 빌드합니다. 출력을 보려면 명령 프롬프트에서 시작해야 합니다.

설명

이 샘플에서는 큐를 사용하여 비동기 메서드 호출을 관리합니다. 호출되는 메서드에서 "몇 가지 작업을 수행"한 다음 작업이 완료되었음을 나타내는 이벤트를 설정합니다. 주 스레드가 이벤트를 기다린 다음 종료됩니다.

다음 글머리 기호의 내용은 이 샘플에서 사용되는 클래스와 기술을 간단하게 설명한 것입니다.

  • 스레딩

    • ThreadPool 개발자는 관리 코드를 작성할 때 가능하면 QueueUserWorkItem 메서드를 사용하여 비동기 메서드 호출을 구현하는 것이 좋습니다. 이 샘플에서는 이 형식을 간단하게 사용하여 비동기 동작을 실행하는 방법을 보여 줍니다.
  • 스레드 동기화

    • AutoResetEvent 샘플의 주 스레드가 비동기 메서드에서 설정될 때까지 AutoResetEvent 개체를 기다립니다. 비동기 메서드는 작업이 완료되면 Set 메서드를 호출합니다.
  • 대리자

    • WaitCallbackThreadPool 클래스에 사용할 형식이 안전한 콜백 메서드를 만드는 데 사용됩니다.

스레드 동기화에 대한 자세한 내용은 소스 코드 파일의 주석을 참조하십시오.

참고 항목

개념

스레드 및 스레딩

참조

AutoResetEvent

Delegate

System.Threading

ThreadPool

ThreadStart

WaitCallback

기타 리소스

스레딩 개체 및 기능