nl:: Weave:: System:: Mutex
#include <src/system/SystemMutex.h>
This class represents a simple mutual exclusion lock used on platforms with preemptively scheduled multi-threaded programming environments, for example, POSIX threads and FreeRTOS.
概要
ロックは再帰的ではないため、ハードウェア割り込みコンテキストで使用できません。コンストラクタとデストラクタは、static
の保存期間と初期化されていないメモリがあるオブジェクトの使用を容易にするために、null 関数として定義されています。Init
メソッドを使用して初期化します。コピー/移動演算子は提供されていません。
コンストラクタとデストラクタ |
|
---|---|
Mutex(void)
|
|
~Mutex(void)
|
パブリック関数 |
|
---|---|
Lock(void)
|
void
相互排他ロックを取得し、必要に応じて現在のスレッドを無期限にブロックする。
|
Unlock(void)
|
void
相互排他ロックを解除します(スケジューラが完了するまで一部のシステムでブロックされる場合があります)。
|
静的パブリック関数 |
|
---|---|
Init(Mutex & aMutex)
|
Error
|
パブリック関数
ロック
void Lock( void )
相互排他ロックを取得し、必要に応じて現在のスレッドを無期限にブロックする。
ミューテックス
Mutex( void )
ロック解除
void Unlock( void )
相互排他ロックを解除します(スケジューラが完了するまで一部のシステムでブロックされる場合があります)。