2009-06-23 13 views
-4

あなたはキューのデータ構造は、あなたは彼らがしていることの順序で要求を処理する必要がある場合にはあなたはキューのデータ構造が

+4

これは、このタイプのポスター、私は宿題であることを夢中にしています。 – CAbbott

+0

@CAbbott {GRIN} –

+0

IMHO問題は、これが宿題であるかどうかではありません。問題はダンプが問題だということです。 –

答えて

6

キューは、スケジューリングおよび要求処理アプリケーションで最も一般的に使用されます。

たとえば、要求を作成するプロセスが1つあり、要求を処理する別のプロセスがあり、要求を保持するためにキューを使用します。

通常、キューはFIFO順です。要求は受信された順序で処理されますが、他の方法で並べ替えることもできます(たとえば優先キューなど)。

いくつかの例:CPU上で実行するため

  1. オペレーティングシステム・スケジューリング・スレッドは実行する次なるスレッドを決定するためにキューを使用します。

  2. HTTPリクエストを処理するWebサーバーは、キューを使用して実際にWebページをサーバーするスレッドに要求を渡します。

  3. 印刷ジョブに対するプリンタの処理要求。

0

特別に役立つことができるの例を与えることができ、特別に役立つことができるの例を与えることができますキューを使用することを受け取りました。または、FIFO型の構造...最初に最初に出てくる...要求の順序を保持します。さらにそれを使用するには、MSMQに類似したオフラインキューを使用して、実際の要求受付者から要求を切断します。電子メールを送信する必要があるウェブサイトがあるとします。これは、Webサイトがメールの処理に必要なSMTPサーバーに直接接続されていないように、Webサイトがオフラインプロセッサ用のキューで要求を隠すキューに最適な場所です。これにより、Web要求を処理するためにWebサイトのワーカースレッドが解放されます。

0

キューには、breadth first searchなどのアルゴリズムで多くの用途があります。それは非常に便利です。

0

場合によっては、アイテムを(安全に)複数のスレッドでキュー構造にプッシュして引き出すことができます。たとえば、クレジットカードプロセッサへの接続を5つだけ同時にしたいとします。 5つのスレッドを起動し、アイテムがキューに表示されるようにチェック(待機)することができます。クレジットカードを処理するリクエストは、他のスレッドができるだけ早く処理することによって、そのキュー構造に配置されます。 (これはあまり単純化されていますが、応答、スレッドの安全性、同時実行性、開発者のロック、ムーンフェイズなどを待つような他の多くの考慮事項があります...)

関連する問題