많은 개인용 컴퓨터와 워크스테이션에는 여러 스레드를 동시에 실행할 수 있는 여러 CPU 코어가 있습니다. 하드웨어를 활용하기 위해 코드를 병렬 처리하여 여러 프로세서에 작업을 분산할 수 있습니다.
과거에는 병렬 처리에서 스레드 및 잠금의 하위 수준 조작이 필요했습니다. Visual Studio 및 .NET은 런타임, 클래스 라이브러리 형식 및 진단 도구를 제공하여 병렬 프로그래밍에 대한 지원을 향상시킵니다. .NET Framework 4에 도입된 이러한 기능은 병렬 개발을 간소화합니다. 스레드 또는 스레드 풀에서 직접 작업하지 않고도 자연 관용구에서 효율적이고 세분화되고 확장 가능한 병렬 코드를 작성할 수 있습니다.
다음 그림에서는 .NET의 병렬 프로그래밍 아키텍처에 대한 개략적인 개요를 제공합니다.
관련 항목
기술 | 설명 |
---|---|
TPL(작업 병렬 라이브러리) |
System.Threading.Tasks.Parallel 클래스의 설명서와 For 및 ForEach 루프의 병렬 버전을 포함하는 클래스, 그리고 비동기 작업을 표현하는 선호하는 방법인 System.Threading.Tasks.Task 클래스에 대한 설명서를 제공합니다. |
PLINQ(병렬 LINQ) | 많은 시나리오에서 성능을 크게 향상시키는 LINQ to Objects의 병렬 구현입니다. |
병렬 프로그래밍을 위한 데이터 구조 | 스레드로부터 안전한 컬렉션 클래스, 간단한 동기화 형식 및 지연 초기화를 위한 형식에 대한 설명서 링크를 제공합니다. |
병렬 진단 도구 | 작업 및 병렬 스택 및 동시성 시각화 도우미에 대한 Visual Studio 디버거 창에 대한 설명서 링크를 제공합니다. |
PLINQ 및 TPL에 대한 사용자 지정 파티셔너 | 파티셔너의 작동 방식과 기본 파티셔너를 구성하거나 새 파티셔너를 만드는 방법을 설명합니다. |
작업 스케줄러 | 스케줄러의 작동 방식과 기본 스케줄러를 구성하는 방법에 대해 설명합니다. |
PLINQ 및 TPL의 람다 식 | C# 및 Visual Basic의 람다 식에 대한 간략한 개요를 제공하고 PLINQ 및 작업 병렬 라이브러리에서 사용되는 방법을 보여 줍니다. |
추가 읽기 | .NET에서 병렬 프로그래밍을 위한 추가 정보 및 샘플 리소스에 대한 링크를 제공합니다. |
참고하십시오
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET