The System.Threading namespaces contain types that enable multithreaded
programming. A child namespace provides types that simplify the work of writing
concurrent and asynchronous code.
Provides atomic operations for variables that are shared by multiple threads.
Provides a mechanism that synchronizes access to objects.
Creates and controls a thread, sets its priority, and gets its status.