Microsoft DirectX 8.0 |
単純で静的にサイズを割り当てたキューを実装するテンプレート。
宣言 : 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( int n ); CQueue(void);
パラメータ
- n
- 作成するキューのサイズ。
注意
パラメータなしで作成すると、キューのサイズは DEFAULT_QUEUESIZE にセットされる。
デストラクタ メソッド。
構文
~CQueue(void);
キューから次のオブジェクトを取得する。
構文
T GetQueueObject(void);
戻り値
T タイプ (テンプレート タイプ) のオブジェクトを返す。
注意
このメソッドはキューのオブジェクトが有効になるまでブロックする。
キューにオブジェクトを入れる。
構文
void PutQueueObject( T object );
パラメータ
- object
- T タイプ (テンプレート タイプ) のオブジェクト。
注意
このメソッドはキュー内にオブジェクトのスペースができるまでブロックする。