관리되는 스레딩 기본 사항Managed Threading Basics

이 섹션의 첫 5개 항목은 관리되는 스레딩을 사용하는 시기를 결정하도록 돕고 몇 가지 기본 기능을 설명하도록 설계되었습니다.The first five topics of this section are designed to help you determine when to use managed threading, and to explain some basic features. 추가 기능을 제공하는 클래스에 대한 내용은 스레딩 개체 및 기능동기화 기본 형식 개요를 참조하세요.For information on classes that provide additional features, see Threading Objects and Features and Overview of Synchronization Primitives.

이 섹션의 나머지 항목에서는 Windows 운영 체제와 관리되는 스레딩의 상호 작용을 비롯한 고급 주제를 다룹니다.The rest of the topics in this section cover advanced topics, including the interaction of managed threading with the Windows operating system.

참고

.NET Framework 4.NET Framework 4에서 작업 병렬 라이브러리 및 PLINQ는 다중 스레드 프로그램에서 작업 및 데이터 병렬 처리를 위한 API를 제공합니다.In the .NET Framework 4.NET Framework 4, the Task Parallel Library and PLINQ provide APIs for task and data parallelism in multi-threaded programs. 자세한 내용은 병렬 프로그래밍을 참조하세요.For more information, see Parallel Programming.

섹션 내용In This Section

스레드 및 스레딩Threads and Threading
다중 스레드의 장단점에 대해 설명하고 스레드를 만들거나 스레드 풀 스레드를 사용할 수 있는 시나리오를 간략하게 설명합니다.Discusses the advantages and drawbacks of multiple threads, and outlines the scenarios in which you might create threads or use thread pool threads.

관리되는 스레드의 예외Exceptions in Managed Threads
.NET Framework의 여러 버전에 대해 스레드의 처리되지 않은 예외의 동작(특히 응용 프로그램 종료를 발생시키는 상황에서)에 대해 설명합니다.Describes the behavior of unhandled exceptions in threads for different versions of the .NET Framework, in particular the situations in which they result in termination of the application.

다중 스레딩을 위한 데이터 동기화Synchronizing Data for Multithreading
다중 스레드에서 사용할 클래스의 데이터를 동기화하기 위한 전략에 대해 설명합니다.Describes strategies for synchronizing data in classes that will be used with multiple threads.

관리되는 스레드 상태Managed Thread States
기본 스레드 상태를 설명하고 스레드가 실행 중인지 여부를 감지하는 방법에 대해 설명합니다.Describes the basic thread states, and explains how to detect whether a thread is running.

포그라운드 및 백그라운드 스레드Foreground and Background Threads
포그라운드 스레드와 백그라운드 스레드 간의 차이점에 대해 설명합니다.Explains the differences between foreground and background threads.

Windows에서 관리되는 스레딩 및 관리되지 않는 스레딩Managed and Unmanaged Threading in Windows
관리되는 스레딩과 관리되지 않는 스레딩, 간의 관계에 대해 설명하고, Windows 스레딩 API에 대해 관리되는 스레딩을 나열하고, COM 아파트 및 관리되는 스레드의 상호 작용에 대해 설명합니다.Discusses the relationship between managed and unmanaged threading, lists managed equivalents for Windows threading APIs, and discusses the interaction of COM apartments and managed threads.

Thread.Suspend, 가비지 컬렉션, 안전한 시점Thread.Suspend, Garbage Collection, and Safe Points
스레드 일시중단 및 가비지 수집에 대해 설명합니다.Describes thread suspension and garbage collection.

스레드 로컬 저장소: 스레드 상대 정적 필드 및 데이터 슬롯Thread Local Storage: Thread-Relative Static Fields and Data Slots
스레드 관련 저장소 메커니즘을 설명합니다.Describes thread-relative storage mechanisms.

관리되는 스레드의 취소Cancellation in Managed Threads
취소 토큰을 사용하여 비동기 또는 장기 실행 동기 작업을 취소할 수 있는 방법에 대해 설명합니다.Describes how asynchronous or long-running synchronous operations can be canceled by using a cancellation token.

참조Reference

Thread
비관리 코드에서 가져왔는지 또는 관리되는 응용 프로그램에서 만들어졌는지에 관계없이 관리되는 스레드를 나타내는 Thread 클래스에 대한 참조 설명서를 제공합니다.Provides reference documentation for the Thread class, which represents a managed thread, whether it came from unmanaged code or was created in a managed application.

BackgroundWorker
사용자 인터페이스 개체와 함께 다중 스레딩을 구현할 수 있는 안전한 방법을 제공합니다.Provides a safe way to implement multithreading in conjunction with user-interface objects.

동기화 기본 형식 개요Overview of Synchronization Primitives
다중 스레드의 활동을 동기화하는 데 사용되는 관리되는 클래스에 대해 설명합니다.Describes the managed classes used to synchronize the activities of multiple threads.

관리되는 스레딩을 구현하는 최선의 방법Managed Threading Best Practices
문제를 피할 수 있도록 다중 스레딩 및 전략에 대한 일반적인 문제를 설명합니다.Describes common problems with multithreading and strategies for avoiding problems.

병렬 프로그래밍Parallel Programming
비동기 및 다중 스레드 .NET Framework 응용 프로그램을 만드는 작업을 크게 간소화하는 작업 병렬 라이브러리 및 PLINQ에 대해 설명합니다.Describes the Task Parallel Library and PLINQ, which greatly simplify the work of creating asynchronous and multi-threaded .NET Framework applications.