스레딩 및 비동기 프로그래밍을 사용하면 앱이 UI를 차단하지 않고 병렬 스레드에서 비동기적으로 작업을 수행할 수 있습니다.
앱은 스레드 풀을 사용하여 병렬 스레드에서 비동기적으로 작업을 수행할 수 있습니다. 스레드 풀은 스레드 집합을 관리하고 큐를 사용하여 작업 항목을 사용할 수 있게 되면 스레드에 할당합니다. 스레드 풀은 UI를 차단하지 않고 확장 작업을 수행하는 데 사용할 수 있기 때문에 Windows 런타임 사용할 수 있는 비동기 프로그래밍 패턴과 유사하지만 스레드 풀은 비동기 프로그래밍 패턴보다 더 많은 제어를 제공하며 이를 사용하여 여러 작업 항목을 병렬로 완료할 수 있습니다. 스레드 풀을 사용하여 다음을 수행할 수 있습니다.
- 작업 항목을 제출하고, 우선 순위를 제어하고, 작업 항목을 취소합니다.
- 타이머 및 정기 타이머를 사용하여 작업 항목을 예약합니다.
- 중요한 작업 항목에 대한 리소스를 따로 둡니다.
- 명명된 이벤트 및 세마포에 대한 응답으로 작업 항목을 실행합니다.
스레드 풀은 스레드를 만들고 삭제하는 오버헤드를 줄이기 때문에 스레드를 관리하는 데 더 효율적입니다. 여러 CPU 코어에서 스레드를 최적화할 수 있으며, 앱과 백그라운드 작업이 실행 중인 경우 스레드 리소스의 균형을 맞출 수 있습니다. 스레드 관리의 메커니즘 대신 작업을 수행하는 코드를 작성하는 데 집중하기 때문에 기본 제공 스레드 풀을 사용하는 것이 편리합니다.
| 주제 | 설명 |
|---|---|
| 스레드 풀 사용에 대한 모범 사례 | 스레드 풀 작업에 대한 모범 사례입니다. |
| C# 또는 Visual Basic 비동기 API 호출 | Windows 앱에서 C# 또는 Visual Basic으로 비동기 API를 사용하는 방법. |
| 정기적인 작업 항목 만들기 | 주기적으로 반복되는 작업 항목을 만드는 방법입니다. |
| 스레드 풀에 작업 항목 제출 | 스레드 풀에 작업 항목을 제출하여 별도의 스레드에서 작업을 수행하는 방법입니다. |
| 타이머를 사용하여 작업 항목 제출 | 타이머가 경과한 후 실행되는 작업 항목을 만드는 방법입니다. |
관련 콘텐츠
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
Windows developer