title: tk::Mutex summary: 所有権・優先度順ウェイクアップ・RAII 対応のミューテックス (排他ロック)
所有権・優先度順ウェイクアップ・RAII 対応のミューテックス (排他ロック) More...
#include <sync.hpp>
| Name | |
|---|---|
| Mutex() =default | |
| void | lock() ミューテックスをロックします (空くまでブロック待機) |
| bool | try_lock() ミューテックスのロックを試みます (ノンブロッキング) |
| void | unlock() ミューテックスのロックを解除します |
| bool | is_locked() const |
class tk::Mutex;
所有権・優先度順ウェイクアップ・RAII 対応のミューテックス (排他ロック)
共有リソースやペリフェラルへの同時アクセスを防止します。 ロックしたタスク本人以外の誤った [unlock()](Classes/classtk_1_1_mutex.md#function-unlock) は安全に無視されます。 C++ の BasicLockable を満たしており、std::lock_guard や [tk::LockGuard](Classes/classtk_1_1_lock_guard.md) が利用可能です。
tk::Mutex mtx;
{
tk::LockGuard<tk::Mutex> lock(mtx);
// クリティカルセクション...
} // 自動でアンロック
Mutex() =default
inline void lock()
ミューテックスをロックします (空くまでブロック待機)
他のタスクが保持している場合は、解放されるまで自タスクを State::Blocked にして休止します。
inline bool try_lock()
ミューテックスのロックを試みます (ノンブロッキング)
Return:
inline void unlock()
ミューテックスのロックを解除します
ロックを保持しているタスク本人だけが解除できます。 待機中のタスクが存在する場合、最も優先度が高いタスクを 1 つ起床させます。
inline bool is_locked() const
現在ロックされているかどうかを判定
Updated on 2026-10-02 at 14:01:32 +0900