This documentation is archived and is not being maintained.

Managed Threading 

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.

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, single-processor and multiprocessor computers, 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.



Contains classes for using and synchronizing managed threads.

Related Sections

Application Domains

Provides an overview of application domains and their use by the Common Language Infrastructure.

Asynchronous File I/O

Describes the performance advantages and basic operation of asynchronous I/O.

Asynchronous Programming Design Patterns

Provides an overview of asynchronous programming.

Calling Synchronous Methods Asynchronously

Explains how to call methods on thread pool threads using built-in features of delegates.