Multithread Programming

First, a little background on processes and threads as defined by the OS is in order.

A thread is the basic unit of execution on the Win32 platform, to which the OS allocates processor time. A process represents a running application that consists of a private virtual address space, code, data, and other OS resources such as files, pipes, and synchronization objects that are visible to the process. A process also contains one or more threads that run in the context of the process. A thread can execute just one task at a time. To perform multiple tasks concurrently, a process can create multiple threads. Even though only one thread can execute at any time,[1] the Windows OS preemptively switches execution from one thread ...

Get .NET Programming: A Practical Guide Using C# now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.