メインページ | モジュール | 名前空間一覧 | クラス階層 | 構成 | ファイル一覧 | 名前空間メンバ | 構成メンバ | ファイルメンバ | 関連ページ

クラス テンプレートtoppers::semaphore< Id, Diagnostics, Stub > の解説
[カーネルオブジェクト管理]

セマフォの機能をカプセル化したテンプレートクラス [詳細]

#include <toppers/semaphore.hpp>

すべてのメンバ一覧

Public 型

typedef t_csem creation
 生成情報パケット型

typedef t_rsem reference
 状態参照情報パケット型


Public メンバ関数

コンストラクタ
 semaphore ()
 デフォルトコンストラクタ

 semaphore (ID id)
 ID番号指定のコンストラクタ.

template<ID Id2, class Diagnostics2, class Stub2>  semaphore (const semaphore< Id2, Diagnostics2, Stub2 > &other)
 テンプレート引数違いの変換コンストラクタ

生成と削除
ER create (const creation *pk_cobj)
 セマフォの生成

ER create (ATR sematr=TA_TFIFO, UINT isemcnt=1, UINT maxsem=1)
 セマフォの生成(個別のフィールド指定)

ER destroy ()
 セマフォの削除

状態参照
ER refer (reference *pk_robj) const
 セマフォの状態参照

セマフォ資源の獲得と返却
ER signal (task_context_tag=task_context) const
 セマフォ資源の返却

ER signal (non_task_context_tag) const
 セマフォ資源の返却(非タスクコンテキスト)

ER signal (context_independent_tag) const
 セマフォ資源の返却(コンテキスト非依存)

ER wait (forever_tag=forever) const
 セマフォ資源の獲得

ER wait (polling_tag) const
 セマフォ資源の獲得(ポーリング)

ER wait (TMO tmout) const
 セマフォ資源の獲得(タイムアウト指定)


フレンド

ID get_unsafe_id (const semaphore< Id, Diagnostics, Stub > &obj)
 セマフォID番号の取得


解説

template<ID Id = 0, class Diagnostics = TOPPERS_DEFAULT_DIAGNOSTICS, class Stub = TOPPERS_DEFAULT_STUB>
class toppers::semaphore< Id, Diagnostics, Stub >

  semaphore テンプレートクラスは、セマフォの機能をカプセル化し、 コンテキストや待機方法をパラメータ化するためのインタフェースを提供する。 このクラスで提供されるインタフェースは、他の同期オブジェクトクラスと 交換可能になっている。

参照:
lock recursive_lock