問題タブ [lifo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 複数のプロデューサー キーから公平にデキューするキュー
何千ものソースからイベントを受信するシナリオがあります。各ソースは、現在のステータスに関する情報を送信しています。すべてのイベントを処理したいのですが、現在のビューが最新になるように、各ソースの最新のイベントを最初に処理することがより重要です。そこでConcurrentHashMap
、各ソースの識別子をキーにして、LIFOキュー(スタック)を値にしたaを使おうと考えていました。次に、のキーを繰り返し処理し、Map
各ソースのスタックから 1 つの項目をポップします。
私が懸念しているのは、キーを反復処理して各キーのキューからアイテムを取り出している間に、プロデューサーが新しいイベントをキューに投稿し、同時実行の問題が発生する可能性があることです。プロデューサーはマップに新しいキーを追加することもできentrySet
ますMap
。新しいアイテムは後続の反復で処理されるため、これは大きな問題ではありません。entrySet
理想的には、プロセスを高速化するために、のストリームで並列処理を使用することもできます。
これに対するよりクリーンなアプローチがあるかどうか疑問に思っています。実際には、LIFOBlockingDequeue
を使用して最新のイベントを最初に処理することもできましたが、このアプローチの問題は、あるソースが他のソースよりも多くのイベントを送信し、他のソースよりも多くのイベントが処理される可能性があるというリスクがあることです。
この種の動作を提供する、私が調べることができる他のデータ構造はありますか? 本質的に私が探しているのは、各ソースからのイベントに優先順位を付けると同時に、各ソースに消費者が処理する公平な機会を与える方法です。
python - Pythonを使用して荷物を処理しますか? ラストコンテナイン、ラストアウト、ファーストラゲッジインファーストアウト
Pythonを使用してこの問題をどのように解決しますか?
コンテナに荷物を積み込みます。コンテナーが限界 (100 ポンド) に達すると。次のコンテナに移動します。こんな感じで荷物を積み込みます。
データをアンロードするときは、最初に最後にロードされたコンテナをアンロードします (これは 100 ポンド未満です。そこから、最初にロードされた荷物を取り出し、次に 2 番目の荷物を降ろします)。次に、次のコンテナに移動します。 .
質問が明確でない場合。
ローディング配列は次のようになります
コンテナが 3 つあるとします。これが積み込みの配置です。
この配列の最後の項目が最初にロードされます。2 つ目の荷物の後、最初のコンテナは 20 ポンドの荷物を収容できなかったため、次のコンテナに移動しました。
20,50,25 が 2 番目に入り、15,45,30 が最後のものに入りました。
荷降ろしの時間になると、最後のコンテナの最初の荷物から順番に移動します。
したがって、アンロード配列は
入力を出力に変換できる関数はありますか?
各コンテナは100ポンド未満に保つ必要があることを覚えておいてください??
考えやアイデアはありますか?
質問がとりとめのない場合は申し訳ありませんが、これはスタックに関する私の最初の質問です
ありがとう!
これが私がこれまでに試したことです:
java - 作成されたスタックを逆にしてスタック FIFO を出力するキューを実装しようとしていますか?
ユーザー入力を先入れ先出しで出力するプログラムを作成しようとしています。現在、スタック LIFO (後入れ先出し) を出力するプログラムを作成しました。ただし、スタックの出力を FIFO (先入れ先出し) 順で表示するキューを実装するにはどうすればよいでしょうか。
以下の私のコード:
c - GLib スタック データ型?
GLib には LIFO (スタック) コレクションとして使用できるデータ型がありますか? リスト、キュー、ハッシュ テーブルなどはありますが、スタック データ型が見つからないようです。
ゴミ箱スタック タイプがありますが、これは特定の目的を念頭に置いて設計されており、バージョン 2.48 以降では非推奨になっています。
GLib でスタックとして使用できるものは何ですか?