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.

概要

ロックは再帰的ではなく、ハードウェア割り込みコンテキストでは使用できません。コンストラクタとデストラクタは null 関数として定義されており、保存期間が static でメモリが初期化されていないオブジェクトを簡単に使用できるようにします。Init メソッドを使用して初期化します。コピーと移動の演算子は提供されていません。

コンストラクタとデストラクタ

Mutex(void)
~Mutex(void)

パブリック関数

Lock(void)
void
相互排他ロックを取得し、必要に応じて現在のスレッドを無期限にブロックします。
Unlock(void)
void
相互排他ロックを解放する(スケジューラが完了するまで一部のシステムでブロックできる)。

静的パブリック関数

Init(Mutex & aMutex)
Error

パブリック関数

ロック

void Lock(
  void
)

相互排他ロックを取得し、必要に応じて現在のスレッドを無期限にブロックします。

ミューテックス

 Mutex(
  void
)

ロック解除

void Unlock(
  void
)

相互排他ロックを解放する(スケジューラが完了するまで一部のシステムでブロックできる)。

~Mutex

 ~Mutex(
  void
)

静的パブリック関数

init

Error Init(
  Mutex & aMutex
)