많은 개인용 컴퓨터와 워크스테이션에는 여러 스레드를 동시에 실행할 수 있는 여러 CPU 코어가 있습니다. 하드웨어를 활용하기 위해 코드를 병렬 처리하여 여러 프로세서에 작업을 분산할 수 있습니다.
과거에는 병렬 처리에서 스레드 및 잠금의 하위 수준 조작이 필요했습니다. Visual Studio 및 .NET은 런타임, 클래스 라이브러리 형식 및 진단 도구를 제공하여 병렬 프로그래밍에 대한 지원을 향상시킵니다. 스레드 또는 스레드 풀에서 직접 작업하지 않고도 자연 관용구에서 효율적이고 세분화되고 확장 가능한 병렬 코드를 작성할 수 있습니다.
다음 그림에서는 .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