API Guides > ConceptRT 3.x

Detailed Description

Classes

class  CriticalSection
 Abstraction of a critical section. A critical section object provides synchronization similar to that provided by a mutex object, except that a critical section can be used only by the threads of a single process. Event, mutex, and semaphore objects can also be used in a single-process application, but critical section objects provide a slightly faster, more efficient mechanism for mutual-exclusion synchronization. More...
 
class  Mutex
 Abstraction of a mutex.A mutex object is used to protect a shared resource from simultaneous access by multiple threads or processes. Each thread must wait for ownership of the mutex before it can execute the code that accesses the shared resource. For example, if several threads share access to a database, the threads can use a mutex object to permit only one thread at a time to write to the database. More...
 
class  ILockable
 Abstraction of a lock. The concept of lock is used to protect shared resource from simultaneous access by multiple threads or processes. More...
 

Macros

#define rt_lock(lockable)
 Lock macro. Open a locked context between { ... } after this declaration. More...
 

Modules

 Internal
 

Macro Definition Documentation

#define rt_lock (   lockable)

Lock macro. Open a locked context between { ... } after this declaration.

Parameters
lockableThe lockable.

This lock macro approach ensures that the lockable is unlocked when the context is left even in case of exception. Usage :

1 Mutex m;
2 rt_lock(m)
3 {
4  protected code
5 }