System.Threading Namespace

The System.Threading namespace provides classes and interfaces that enable multithreaded programming. In addition to classes for synchronizing thread activities and access to data (Monitor, Interlocked, AutoResetEvent, and so on), this namespace includes a ThreadPool class that enables you to use a pool of system-supplied threads, and a Timer class that executes callback methods on thread pool threads. In addition to the features provided in the System.Threading namespace, the BackgroundWorker class provides a simple, event-based way to synchronize access to the main application thread.