다음을 통해 공유


Windows.System.Threading.Core 네임스페이스

명명된 이벤트 및 세마포에 대한 응답으로 실행되는 작업 항목을 만듭니다. 또한 과도한(또는 전체) 리소스 할당 상황에서도 실행 기능을 보장해야 하는 작업 항목에 대한 리소스를 미리 할당합니다.

참고

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

PreallocatedWorkItemThreadPool을 사용하여 작업 항목을 만드는 경우 RunAsync, 작업 항목이 만들어지고 단일 작업으로 제출됩니다. 이는 대부분의 시나리오에서 허용되지만 작업 항목에 대한 리소스를 미리 따로 설정해야 하는 경우도 있습니다.

PreallocatedWorkItem 클래스는 작업 항목을 미리 생성하여 작업 항목을 "대기 중"으로 배치하여 필요할 때 스레드 풀에 제출할 수 있도록 합니다. 이는 작업 항목이 필요하기 전에 앱에서 사용할 수 있는 리소스가 완전히 할당되는 경우에 유용합니다(예: 작업 항목을 사용하는 할당 취소 루틴 호출). 작업 항목이 이미 할당된 경우 리소스 할당 취소 루틴을 계속 호출할 수 있으며 모든 리소스가 이미 사용 중인 경우에도 PreallocatedWorkItem 을 스레드 풀에 제출할 수 있습니다. Win32 COM 개체에서 만든 명명된 이벤트 또는 세마포에 대한 응답으로 작업 항목을 큐에 대기해야 하는 경우도 있습니다. SignalNotifier 개체를 사용하여 명명된 이벤트 또는 세마포에 대한 응답으로 Windows 런타임 메서드를 실행할 수 있습니다. 이렇게 하면 이벤트 또는 세마포에 이름이 있는 경우 에 대해 Win32 및 COM을 사용하여 전송된 이벤트 및 신호에 응답하는 Windows 런타임 코드를 작성할 수 있습니다. 예를 들어 SignalNotifier 를 사용하여 UWP 앱으로 이식되는 Win32 코드를 사용할 수 있습니다. ISignalableNotifier경우에 따라 이벤트 또는 세마포의 이름을 알 수 없지만 앱은 여전히 이에 응답해야 합니다. 예를 들어 레거시 코드와 잘 알려진 일부 이벤트 및 세마포는 여전히 이름 대신 대기 가능한 핸들을 사용합니다. ISignalableNotifier 를 사용하면 대기 가능한 핸들에 등록된 ISignalNotifier 개체를 만들 수 있습니다.

참고

미리 할당된 작업 항목은 사용 가능한 모든 리소스를 사용하거나 리소스 할당 취소 루틴에 대한 작업 항목을 만들어야 하는 앱에만 필요합니다. 신호 알림은 에 Win32 및 COM 을 사용하는 특정 앱에만 적용됩니다. 앱에서 사전 할당 또는 신호를 사용할 필요가 없는 경우 Windows.System.Threading을 사용하여 작업 항목을 만듭니다.

클래스

PreallocatedWorkItem

미리 할당된 작업 항목은 스레드 풀에 제출하기 전에 생성되므로 필요한 경우 스레드 풀에 제출할 수 있도록 작업 항목이 생성됩니다. 예를 들어 리소스 할당 취소 루틴이 필요한 경우 PreallocatedWorkItem을 만들 수 있습니다. 리소스 할당 취소 루틴은 작업 항목을 만드는 데 충분한 리소스를 사용할 수 없는 상황에서 호출될 수 있기 때문에 가능합니다.

참고

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

SignalNotifier

이벤트 또는 세마포가 신호를 받으면 메서드를 실행합니다. 또한 시간 제한 값을 지정하여 명명된 이벤트가 발생하지 않거나 세마포가 신호 상태에 도달하지 않는 경우 시간 범위가 경과한 후에 대리자를 실행할 수 있습니다.

참고

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

대리자

SignalHandler

신호 알림의 연결된 이벤트 또는 세마포가 신호로 전송되거나 선택적 시간 제한 값이 경과된 경우(어느 것이든 먼저 제공됨) 호출되는 메서드를 나타냅니다.