Mutexes Overview

This document provides an overview of mutexes.


Synchronises exclusive access to shared resources within and between processes.


Mutexes are typically used to serialise access to a section of re-entrant code that cannot be executed concurrently by more than one thread. A mutex object only allows one thread into a controlled section, forcing other threads which attempt to gain access to that section to wait until the first thread has exited from that section.

A mutex can be used by threads across any number of processes. If a resource is only shared between the threads within the same process, it can be more efficient to use a critical section.

Mutexes are Kernel objects and, as such, are managed by the Kernel, and accessed by user programs through handles.

The mutex handle is provided by RMutex.

TFindMutex is used for finding a mutex created by another process.