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
)

相互排他ロックを解除します(スケジューラが完了するまで一部のシステムでブロックされる場合があります)。

ミューテックス

 ~Mutex(
  void
)

静的パブリック関数

init

Error Init(
  Mutex & aMutex
)