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

The topics in this section describe practices that improve the performance of your Silverlight-based applications, including the use of multiple threads to run background tasks and to make your applications more responsive to your users.

Silverlight provides a wide range of threading features. The BackgroundWorker class enables you to run cancellable tasks in the background, on thread pool threads, by using a simple event model to report progress and return results. Using events to communicate between threads eliminates many of the complexities of thread synchronization.

Silverlight also includes a variety of more advanced threading features, including monitors to protect access to critical sections of code, wait handles to synchronize the activities of threads, interlocked operations for faster concurrent access to data, timers to run periodic background tasks, and additional ways to use thread pool threads.

In This Section

  • Performance Tips
    Provides tips to ensure that your Silverlight-based applications run fast and smoothly.

  • How to: Use a Background Worker
    Describes the recommended way to run tasks in the background, including how to report progress, how to return results, and how to cancel tasks.

  • Managed Threading
    Describes the features of managed threads, classes provided for synchronizing the activities of threads and protecting application data, and best practices for using multiple threads.

  • Lazy Initialization
    Explains how to use the System.Lazy<T> class to initialize objects at the time they are first accessed.

  • Silverlight Hardware Acceleration
    Explains how to take advantage of hardware acceleration by caching visual elements as bitmaps.

See Also

Other Resources