キュー (コンピュータ)
出典: フリー百科事典『ウィキペディア(Wikipedia)』
キュー(queue)あるいは待ち行列はコンピュータの基本的なデータ構造の一つで、データを先入れ先出し(FIFO: First In First Out)のリスト構造で保持するものである。キューからデータを取り出すときには、先に入れられたデータから順に取り出される。
キューにデータを入れることをエンキュー(Enqueue)、取り出すことをデキュー(Dequeue)という。
プリンタへの出力処理や、ウィンドウシステムのメッセージハンドラ、プロセスの管理など、データを入力された順番通りに処理する必要がある処理に用いられる。
キューの変形として、先頭と末尾の両端から入出力を行えるものを両端キュー(double-ended queue, deque)という。
キューとは逆にLIFO(後入れ先出し)のリスト構造を持つデータバッファをスタックと呼ぶ。
[編集] キューの応用
- メッセージ・キュー (UNIX): msgsnd() および msgrcv() システム・コールにより、それぞれデータを送信および受信できる。データを送信する先は同じプロセスであってもよいし、他のプロセスであってもよい。
- メッセージ・キュー (Windows): GUI プログラムへイベントを送信するのに用いる。これをイベント駆動型プログラミングという。プログラムはメッセージ・ループでイベントを受信し、適切な動作を行うように作られる。
- プログラミング言語のライブラリでの実装: プログラミング言語によっては、キューを標準ライブラリとして実装していて、プログラマがキューそのもののプログラムを書かなくても利用できるようになっている。
- ミドルウェアによる実装: 主にあるプログラムから他のプログラムへデータを送信するためにキューを利用しているミドルウェアが作られている。
[編集] 関連項目
[編集] 外部リンク
カテゴリ: コンピュータ関連のスタブ項目 | データ構造 | 抽象データ型