![]() |
Jolt Physics
A multi core friendly Game Physics Engine
|
#include <MutexArray.h>
Public Member Functions | |
| MutexArray ()=default | |
| Constructor, constructs an empty mutex array that you need to initialize with Init() | |
| MutexArray (uint inNumMutexes) | |
| Constructor, constructs an array with inNumMutexes entries. | |
| ~MutexArray () | |
| Destructor. | |
| void | Init (uint inNumMutexes) |
| uint | GetNumMutexes () const |
| Get the number of mutexes that were allocated. | |
| uint32 | GetMutexIndex (uint32 inObjectIndex) const |
| Convert an object index to a mutex index. | |
| MutexType & | GetMutexByObjectIndex (uint32 inObjectIndex) |
| Get the mutex belonging to a certain object by index. | |
| MutexType & | GetMutexByIndex (uint32 inMutexIndex) |
| Get a mutex by index in the array. | |
| void | LockAll () |
| Lock all mutexes. | |
| void | UnlockAll () |
| Unlock all mutexes. | |
Public Member Functions inherited from NonCopyable | |
| NonCopyable ()=default | |
| NonCopyable (const NonCopyable &)=delete | |
| void | operator= (const NonCopyable &)=delete |
A mutex array protects a number of resources with a limited amount of mutexes. It uses hashing to find the mutex of a particular object. The idea is that if the amount of threads is much smaller than the amount of mutexes that there is a relatively small chance that two different objects map to the same mutex.
|
default |
Constructor, constructs an empty mutex array that you need to initialize with Init()
|
inlineexplicit |
Constructor, constructs an array with inNumMutexes entries.
|
inline |
Destructor.
|
inline |
Get a mutex by index in the array.
|
inline |
Get the mutex belonging to a certain object by index.
|
inline |
Convert an object index to a mutex index.
|
inline |
Get the number of mutexes that were allocated.
|
inline |
Initialization
| inNumMutexes | The amount of mutexes to allocate |
|
inline |
Lock all mutexes.
|
inline |
Unlock all mutexes.