Microsoft DirectX 8.0

CQueue クラス

単純で静的にサイズを割り当てたキューを実装するテンプレート。

宣言 : Wxutil.h

クラス コンストラクタはキューのサイズを指定する。PutQueueObject メソッドはあるオブジェクトをキューに入れ、GetQueueObject メソッドはオブジェクトからキューを引き出す。新しいオブジェクトに対してキュー内にスペースができるまで、PutQueueObject メソッドはブロックする。キュー内に受け取るオブジェクトが来るまで、GetQueueObject メソッドはブロックする。

このクラス テンプレートは 2 つのセマフォを使ってキュー操作をコントロールする、1 つは 「get」 セマフォ、もう 1 つは 「put」 セマフォである。GetQueueObject メソッドは (WaitForSingleObject 関数を使って)「get」セマフォで待ち、(ReleaseSemaphore 関数を使って) 「put」 セマフォを解放する。PutQueueObject メソッドは 「put」 セマフォで待ち、「get」 セマフォを解放する。このクラスはまたクリティカル セクションを使って複数スレッドでのキュー操作を処理する。

Public メソッド
CQueue コンストラクタ メソッド。
~CQueue デストラクタ メソッド。
GetQueueObject キューから次のオブジェクトを取得する。
PutQueueObject キューにオブジェクトを入れる。

CQueue::CQueue

CQueue クラス

コンストラクタ メソッド。

構文

CQueue(
    int n
);

CQueue(void);

パラメータ

n
作成するキューのサイズ。

注意

パラメータなしで作成すると、キューのサイズは DEFAULT_QUEUESIZE にセットされる。

CQueue::~CQueue

CQueue クラス

デストラクタ メソッド。

構文

~CQueue(void);

CQueue::GetQueueObject

CQueue クラス

キューから次のオブジェクトを取得する。

構文

T GetQueueObject(void);

戻り値

T タイプ (テンプレート タイプ) のオブジェクトを返す。

注意

このメソッドはキューのオブジェクトが有効になるまでブロックする。

CQueue::PutQueueObject

CQueue クラス

キューにオブジェクトを入れる。

構文

void PutQueueObject(
    T object
);

パラメータ

object
T タイプ (テンプレート タイプ) のオブジェクト。

注意

このメソッドはキュー内にオブジェクトのスペースができるまでブロックする。