Multithreading Support for Older Code (Visual C++)

Visual C++ allows you to have multiple concurrent threads of execution running simultaneously. With multithreading, you can spin off background tasks, manage simultaneous streams of input, manage a user interface, and much more.

In This Section

Multithreading with C and Win32
Provides support for creating multithread applications with Microsoft Windows

Multithreading with C++ and MFC
Describes what processes and threads are and what the MFC approach to multithreading is.

Multithreading and Locales
Discusses issues that arise when using the locale functionality of both the C Runtime Library and the C++ Standard Library in a multithreaded application.

CWinThread
Represents a thread of execution within an application.

CSyncObject
Describes a pure virtual class that provides functionality common to the synchronization objects in Win32.

CSemaphore
Represents a semaphore, which is a synchronization object that allows a limited number of threads in one or more processes to access a resource.

CMutex
Represents a mutex, which is a synchronization object that allows one thread mutually exclusive access to a resource.

CCriticalSection
Represents a critical section, which is a synchronization object that allows one thread at a time to access a resource or section of code.

CEvent
Represents an event, which is a synchronization object that allows one thread to notify another that an event has occurred.

CMultiLock
Represents the access-control mechanism used in controlling access to resources in a multithreaded program.

CSingleLock
Represents the access-control mechanism used in controlling access to a resource in a multithreaded program.