다음을 통해 공유


Windows.System.Threading 네임스페이스

애플리케이션이 스레드 풀을 사용하여 작업 항목을 실행할 수 있도록 합니다.

스레드 풀은 애플리케이션이 병렬로 실행할 수 있는 작업 항목에 사용할 수 있는 작업자 스레드 풀을 제공합니다. 스레드 풀은 스레드 수명을 관리하고 스레드를 사용할 수 있게 될 때 작업 항목을 예약하기 때문에 스레드 풀을 사용하는 것이 개별 스레드를 만드는 것보다 더 간단하고 효율적입니다.

작업 항목은 비동기적으로 실행되며 어떤 순서로든 실행할 수 있으므로 많은 시간이 걸리지 않고 서로의 출력에 의존하지 않는 작업 항목에 스레드 풀을 사용하는 것이 가장 좋습니다. RunAsync 메서드를 호출하여 작업 항목을 만듭니다. 작업 항목은 스레드 풀의 큐에 추가되며 스레드를 사용할 수 있을 때까지 유지됩니다. 스레드를 사용할 수 있게 되면 스레드 풀은 작업 항목의 연결된 WorkItemHandler 대리자를 호출하고 작업 항목이 실행됩니다.

스레드 풀은 스레드를 사용할 수 있게 되는 즉시 작업 항목을 예약하므로 항목이 즉시 실행될 수 있습니다. 일정 시간 후에 작업 항목을 실행하려면 타이머를 사용합니다. 타이머를 만들고 CreateTimer 메서드를 호출하여 시간 제한 값을 지정합니다. 타이머가 만들어지는 즉시 카운트다운을 시작하므로 시작할 필요가 없습니다. 타이머가 만료되면 스레드 풀은 타이머의 TimerElapsedHandler 대리자를 호출합니다.

일정한 간격으로 작업 항목을 두 번 이상 실행하려면 CreatePeriodicTimer 메서드를 사용하여 주기적인 타이머를 만듭니다. 정기 타이머는 만료될 때마다 다시 설정되며 취소할 때까지 활성 상태로 유지됩니다.

이벤트 또는 세마포가 신호를 보낼 때까지 작업 항목을 기다리거나 미리 할당된 작업 항목을 만들려는 경우 Windows.System.Threading.Core를 참조하세요.

스레드 풀을 사용하는 방법을 보여 주는 예제 코드는 스레드 풀 샘플을 참조하세요.

참고

ThreadPool API는 데스크톱 및 UWP 앱에 대해 지원됩니다.

클래스

ThreadPool

스레드 풀에 대한 액세스를 제공합니다. 스레드 풀 사용에 대한 자세한 지침은 스레딩 및 비동기 프로그래밍 을 참조하세요.

참고

ThreadPool API는 데스크톱 및 UWP 앱에 대해 지원됩니다.

ThreadPoolTimer

CreateTimer 또는 CreatePeriodicTimer로 만든 타이머를 나타냅니다.

참고

ThreadPool API는 데스크톱 및 UWP 앱에 대해 지원됩니다.

열거형

WorkItemOptions

작업 항목을 실행하는 방법을 지정합니다.

WorkItemPriority

스레드 풀의 다른 작업 항목을 기준으로 작업 항목의 우선 순위를 지정합니다.

대리자

TimerDestroyedHandler

CreateTimer 또는 CreatePeriodicTimer로 만든 타이머가 완료된 경우 호출되는 메서드를 나타냅니다.

TimerElapsedHandler

CreateTimer 또는 CreatePeriodicTimer로 만든 타이머가 만료되는 경우 호출되는 메서드를 나타냅니다.

WorkItemHandler

작업 항목이 실행되면 호출되는 메서드를 나타냅니다.