This document is an overview of critical sections.
Critical sections are typically used to serialize access to a section of re-entrant code that cannot be executed concurrently by more than one thread within a process. A critical section object only allows one thread into a controlled section, forcing other threads which attempt to gain access to that critical section to wait until the first thread has exited from that section.
A critical section cannot be used to control access to a resource shared by threads across different processes. For that, use a mutex.
Critical sections are Kernel objects and, as such, are managed by the Kernel, and accessed by user programs through handles. They are implemented using a semaphore.
The critical section handle is provided by RCriticalSection .
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License v1.0.