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.