관리되는 스레딩Managed Threading

개발 대상 컴퓨터에 프로세서가 1개 있든, 여러 개 있든, 애플리케이션이 현재 다른 작업을 수행하면서도 사용자에게 가장 먼저 반응하는 방식으로 상호 작용을 제공하는 것을 원할 것입니다.Whether you are developing for computers with one processor or several, you want your application to provide the most responsive interaction with the user, even if the application is currently doing other work. 다중 스레드 방식의 실행을 사용하는 것이 사용자에 대한 애플리케이션 응답성을 유지하면서 사용자 이벤트 중간에 프로세서를 최대한 활용할 수 있는 가장 강력한 방법 중 하나입니다.Using multiple threads of execution is one of the most powerful ways to keep your application responsive to the user and at the same time make use of the processor in between or even during user events. 이 섹션에서는 스레딩의 기본 개념을 소개하지만 관리되는 스레딩 개념 및 관리되는 스레딩 사용을 집중적으로 다룹니다.While this section introduces the basic concepts of threading, it focuses on managed threading concepts and using managed threading.

참고

.NET Framework 4부터는 System.Threading.Tasks.ParallelSystem.Threading.Tasks.Task 클래스, PLINQ(병렬 LINQ), System.Collections.Concurrent 네임스페이스의 새로운 동시 컬렉션 클래스, 그리고 스레드가 아닌 작업 개념을 기반으로 하는 새로운 프로그래밍 모델로 인해 다중 스레드 프로그래밍이 매우 간소화되었습니다.Starting with the .NET Framework 4, multithreaded programming is greatly simplified with the System.Threading.Tasks.Parallel and System.Threading.Tasks.Task classes, Parallel LINQ (PLINQ), new concurrent collection classes in the System.Collections.Concurrent namespace, and a new programming model that is based on the concept of tasks rather than threads. 자세한 내용은 병렬 프로그래밍을 참조하세요.For more information, see Parallel Programming.

섹션 내용In This Section

관리되는 스레딩 기본 사항Managed Threading Basics
관리되는 스레딩의 개요를 제공하고 다중 스레드를 사용해야 하는 경우를 설명합니다.Provides an overview of managed threading and discusses when to use multiple threads.

스레드 및 스레딩 사용Using Threads and Threading
스레드를 만들고, 시작하고, 일시 중지하고, 재개하고, 중단하는 방법을 설명합니다.Explains how to create, start, pause, resume, and abort threads.

관리되는 스레딩을 구현하는 최선의 방법Managed Threading Best Practices
동기화 수준, 교착 상태 및 경합 상태를 방지하는 방법, 기타 스레딩 문제에 대해 설명합니다.Discusses levels of synchronization, how to avoid deadlocks and race conditions, and other threading issues.

스레딩 개체 및 기능Threading Objects and Features
스레드 작업과 다른 스레드에서 액세스되는 개체 데이터를 동기화하는 데 사용할 수 있는 관리되는 클래스에 대해 설명하고 스레드 풀 스레드에 대해 대략적으로 설명합니다.Describes the managed classes you can use to synchronize the activities of threads and the data of objects accessed on different threads, and provides an overview of thread pool threads.

참조Reference

System.Threading
관리되는 스레드를 사용하고 동기화하기 위한 클래스를 포함합니다.Contains classes for using and synchronizing managed threads.

System.Collections.Concurrent
여러 스레드에서 사용해도 안전한 컬렉션 클래스를 포함합니다.Contains collection classes that are safe for use with multiple threads.

System.Threading.Tasks
동시 처리 작업을 만들고 예약하기 위한 클래스를 포함합니다.Contains classes for creating and scheduling concurrent processing tasks.

애플리케이션 도메인Application Domains
애플리케이션 도메인과 공용 언어 인프라에서 이를 사용하는 방법에 대한 개요를 제공합니다.Provides an overview of application domains and their use by the Common Language Infrastructure.

Asynchronous File I/OAsynchronous File I/O
비동기 I/O의 기본 연산 및 성능상의 이점에 대해 설명합니다.Describes the performance advantages and basic operation of asynchronous I/O.

TAP(작업 기반 비동기 패턴)Task-based Asynchronous Pattern (TAP)
.NET에서 비동기 프로그래밍의 권장 패턴에 대한 개요를 설명합니다.Provides an overview of the recommended pattern for asynchronous programming in .NET.

동기 메서드를 비동기 방식으로 호출Calling Synchronous Methods Asynchronously
대리자의 기본 제공 기능을 사용하여 스레드 풀 스레드에 대해 메서드를 호출하는 방법을 설명합니다.Explains how to call methods on thread pool threads using built-in features of delegates.

병렬 프로그래밍Parallel Programming
애플리케이션에서 다중 스레드를 간편하게 사용할 수 있도록 하는 병렬 프로그래밍 라이브러리에 대해 설명합니다.Describes the parallel programming libraries, which simplify the use of multiple threads in applications.

PLINQ(병렬 LINQ)Parallel LINQ (PLINQ)
다중 프로세서를 활용하기 위해 쿼리를 병렬로 실행하기 위한 시스템을 설명합니다.Describes a system for running queries in parallel, to take advantage of multiple processors.