Multithreading Sample

This solution demonstrates how to use multiple threads to achieve concurrency in tasks.

To get samples and instructions for installing them

  • Do one or more of the following:

    • On the Help menu, click Samples.

      The Readme displays information about samples.

    • Visit the Visual Studio 2008 Samples Web site. The most recent versions of samples are available there.

    • Locate samples on the computer on which Visual Studio is installed. By default, samples and a Readme file are installed in drive:\Program Files\Microsoft Visual Studio 9.0\Samples\lcid. For Express editions of Visual Studio, all samples are located online.

For more information, see Visual Studio Samples.

Security noteSecurity Note:

This sample code is intended to illustrate a concept, and it shows only the code that is relevant to that concept. It may not meet the security requirements for a specific environment, and it should not be used exactly as shown. We recommend that you add security and error-handling code to make your projects more secure and robust. Microsoft provides this sample code "AS IS" with no warranties.

To run this sample

  • Press F5.

Demonstrates

This sample runs a time-consuming task on a separate thread, launched by a button click:

  • Run on same thread The task runs on the same thread as the main form. This blocks the user from interacting with the main form until the task finishes. No multithreading code is needed for this task.

  • Run on worker pool thread The task uses the BeginInvoke method created by the compiler for all delegates to run the task.

  • Background worker This task uses the BackgroundWorker Component to create a new thread.

This example does not include synchronization, because the multiple threads are not accessing any data.

See Also

Concepts

Asynchronous Programming Overview

Reference

Delegate Statement

DebuggerStepThroughAttribute

AppDomain.GetCurrentThreadId

Thread

Other Resources

Asynchronous Programming Using Delegates