スピンロック API

概要

xmc::SpinLock は、短時間のクリティカルセクションを保護するための排他制御プリミティブです。

主に、コア間または割り込みコンテキストをまたぐ共有データの保護に使用します。

SpinLock クラス

xmc::SpinLock::SpinLock

xmc::SpinLock::SpinLock();

スピンロックを生成します。

内部リソースの確保に失敗した場合、ロックは未初期化状態になります。

xmc::SpinLock::~SpinLock

xmc::SpinLock::~SpinLock();

スピンロックを破棄し、内部リソースを解放します。

xmc::SpinLock::get

void xmc::SpinLock::get();

ロックを取得します。

他の実行コンテキストが保持中の場合は、取得可能になるまで待機します。 未初期化状態では何も行いません。

xmc::SpinLock::release

void xmc::SpinLock::release();

取得済みロックを解放します。

get() で保護したクリティカルセクションの終端で呼び出します。 未初期化状態では何も行いません。