nlib
|
同期処理を行うための条件変数です。 [詳解]
#include "nn/nlib/threading/CondVar.h"
公開メンバ関数 | |
constexpr | CondVar () noexcept=default |
デフォルトコンストラクタです。 | |
void | Notify () noexcept |
ウェイトしているスレッドの1つ以上にシグナルします。 [詳解] | |
void | NotifyAll () noexcept |
ウェイトしているスレッド全てにシグナルします。 | |
template<class lock_type > | |
errno_t | Wait (lock_type &lock) noexcept NLIB_REQUIRES(lock) |
ウェイトします。 [詳解] | |
template<class lock_type > | |
NLIB_CHECK_RESULT errno_t | WaitFor (lock_type &lock, const nlib_ns::TimeSpan &timeout) noexcept NLIB_REQUIRES(lock) |
期間を指定したタイムアウトつきのウェイトをします。 [詳解] | |
template<class lock_type > | |
NLIB_CHECK_RESULT errno_t | WaitUntil (lock_type &lock, const nlib_ns::DateTime &datetime) noexcept NLIB_REQUIRES(lock) |
日時を指定したタイムアウトつきのウェイトをします。 [詳解] | |
同期処理を行うための条件変数です。
Wait()
関数で待ち続け、Notify()
, NotifyAll()
で起床します。 pthread_cond
や、WindowsのCONDITION_VARIABLE
と同様の機能です。
|
inlinenoexcept |
ウェイトしているスレッドの1つ以上にシグナルします。
NotifyAll()
の利用をお勧めします。
|
inlinenoexcept |
ウェイトします。
[in,out] | lock | CriticalSection 等のlock() , unlock() メンバ関数を持つクラスです。 |
0 | エラーは発生していません |
ENOMEM | システムリソースが足りない場合 |
|
inlinenoexcept |
期間を指定したタイムアウトつきのウェイトをします。
[in,out] | lock | CriticalSection 等のlock() , unlock() メンバ関数を持つクラスです。 |
[in] | timeout | タイムアウト時間です。 |
0 | エラーは発生していません |
ETIMEDOUT | タイムアウトした場合 |
ENOMEM | システムリソースが足りない場合 |
|
inlinenoexcept |
日時を指定したタイムアウトつきのウェイトをします。
[in,out] | lock | CriticalSection 等のlock() , unlock() メンバ関数を持つクラスです。 |
[in] | datetime | タイムアウト期限です。 |
0 | エラーは発生していません |
ETIMEDOUT | タイムアウトした場合 |
ENOMEM | システムリソースが足りない場合 |
© 2012-2017 Nintendo Co., Ltd. All rights reserved.