TPL(작업 병렬 라이브러리)은 공용 형식 및 네임스페이스의 API System.ThreadingSystem.Threading.Tasks 집합입니다. TPL의 목적은 애플리케이션에 병렬 처리 및 동시성을 추가하는 프로세스를 간소화하여 개발자의 생산성을 높이는 것입니다. TPL은 동시성 수준을 동적으로 조정하여 사용 가능한 모든 프로세서를 가장 효율적으로 사용합니다. 또한 TPL은 작업의 분할, 스레드 ThreadPool예약, 취소 지원, 상태 관리 및 기타 하위 수준 세부 정보를 처리합니다. TPL을 사용하면 프로그램이 수행하도록 설계된 작업에 집중하면서 코드의 성능을 최대화할 수 있습니다.
.NET Framework 4에서 TPL은 다중 스레드 및 병렬 코드를 작성하는 기본 방법입니다. 그러나 모든 코드가 병렬화에 적합한 것은 아닙니다. 예를 들어 루프가 각 반복에서 적은 양의 작업만 수행하거나 많은 반복에 대해 실행되지 않는 경우 병렬화 오버헤드로 인해 코드가 더 느리게 실행될 수 있습니다. 또한 병렬 처리는 다중 스레드 코드와 마찬가지로 프로그램 실행에 복잡성을 더합니다. TPL은 다중 스레드 시나리오를 간소화하지만 TPL을 효과적으로 사용할 수 있도록 스레딩 개념(예: 잠금, 교착 상태 및 경합 조건)을 기본적으로 이해하는 것이 좋습니다.
관련 문서
제목 | 설명 |
---|---|
데이터 병렬 처리 | Visual Basic에서 for 및 foreach 루프(For 및 For Each )를 병렬로 만드는 방법을 설명합니다. |
작업 기반 비동기 프로그래밍 | Parallel.Invoke를 사용하여 암시적으로 또는 Task 개체를 직접 사용하여 명시적으로 작업을 만들고 실행하는 방법을 설명합니다. |
데이터 흐름 | TPL 데이터 흐름 라이브러리의 데이터 흐름 구성 요소를 사용하여 여러 작업을 처리하는 방법을 설명합니다. 이러한 작업은 서로 통신하고 사용할 수 있게 되면 데이터를 처리해야 합니다. |
데이터 및 작업 병렬 처리의 잠재적 문제 | 몇 가지 일반적인 문제 및 이를 방지하는 방법을 설명합니다. |
PLINQ(병렬 LINQ) | LINQ 쿼리를 사용하여 데이터 병렬 처리를 달성하는 방법을 설명합니다. |
병렬 프로그래밍 | .NET 병렬 프로그래밍을 위한 최상위 노드입니다. |
참고하십시오
- .NET Core 및 .NET Standard를 사용한 병렬 프로그래밍 샘플
.NET