Managed Threading

Microsoft Silverlight will reach end of support after October 2021. Learn more.

Whether you are developing for computers with one processor or several, you want your Silverlight-based 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.

In This Section

  • Managed Threading Overview
    Provides an overview of managed threading and discusses when to use multiple threads.

  • Best Practices for Managed Threading
    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.


  • System.Threading
    Contains classes for using and synchronizing managed threads.

  • BackgroundWorker
    Provides a simple, event-driven model for synchronizing background tasks with the main application thread.

  • Dispatcher
    Enables cross-thread calls from background threads to the main application thread.