問題タブ [queue]

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.

0 投票する
12 に答える
48580 参照

c# - c# .NET Queue クラスに Remove(int index) メソッドを追加する

.NET フレームワーク (3.5) で説明されている汎用キュー クラスを使用したいのですが、キューから項目を削除するには Remove(int index) メソッドが必要です。拡張メソッドを使用してこの機能を実現できますか? 誰かが私を正しい方向に向けたいと思っていますか?

0 投票する
4 に答える
34482 参照

c# - C#: オブジェクトがキューに追加されたときにイベントをトリガーする

オブジェクトが に追加されるたびにイベントをトリガーできるようにする必要がありますQueue<Delegate>

拡張する新しいクラスを作成しましたQueue

そして、次のように、別のクラスからイベントを添付します。

しかし、オブジェクト ( ) をキューに入れるたびにeventQueue.Enqueue(something)、添付イベントが発生しません。

ここで何が欠けていますか?

0 投票する
5 に答える
2248 参照

c++ - スレッドセーフキューに問題がありますか?

C++でpthreadを使用してスレッドセーフなキューを作成しようとしています。私のプログラムは93%の時間で動作します。他の7%の時間は、他の人がゴミを吐き出している、または眠りに落ちているようです。コンテキストスイッチがそれを壊すであろう私のキューにいくつかの欠陥があるかどうか疑問に思っていますか?

これは次のように使用できます。

誰かがこれに問題を見つけたら、そう言ってください:)

0 投票する
3 に答える
784 参照

frameworks - ワークキューベースの優れたフレームワークはありますか?

ワーク キューのアイデアに基づいた Web フレームワーク (Struts、Ruby on Rails、Seaside など) を作成することを考えています。誰かが以前にそのようなフレームワークを行ったことがあるかどうかを確認しています。

リクエストを処理して結果を返すためのフレームワークを確認できてうれしく思いますが、Web (HTTP)ではありません。私が探しているのは、ワーク キュー システム (Starling、Workling、Amazon の Queue Service、JMS など) 自体ではなく、その上で実行される処理システムです。

私は言語にそれほどこだわりはありません。私が最も興味を持っているのは、解説や教訓です。(したがって、まだ初期段階にあるキューベースのシステムは、おそらくあまり関心がありません。)

0 投票する
5 に答える
2067 参照

python - シンプルな独自非優先キューシステム

私はPythonで単純なWebクローラーに取り組んでおり、単純なキュークラスを作成したくありませんが、開始する最良の方法がよくわかりません. クローラーがスクリプトの実行ごとに各ページを 1 回だけクロールするように、処理する一意のアイテムのみを保持するものが必要です (単純に無限ループを回避するため)。誰かが私に教えてくれるか、私が実行できる簡単なキューの例を教えてくれますか?

0 投票する
4 に答える
2129 参照

c++ - C++ バウンド メソッド キュー (タスク マネージャー/スケジューラー?)

そのようなことを行うためのメソッド/パターン/ライブラリはありますか(疑似コードで):

次のようなことができるように:

次のように呼び出します。

それともそれは不可能な夢ですか?

そして、呼び出すパラメータの数を追加する方法があれば、それが最適です。

Doug T. この優れた回答をご覧ください。

Dave Van den Eyndeのバージョンもうまく機能します。

0 投票する
5 に答える
4250 参照

c# - FileInfo[] 配列、それをキューに追加して、各ファイルが一度だけ処理されて削除されるようにする

オブジェクト FileInfo[] にファイルの配列があります。

私のサービスでは、現在ファイルをループして処理しています。

ファイルをループして、処理中にコレクションから削除したい。

これにはキューが理想的だと思いますが、キュー コレクションをループするにはどうすればよいですか?

(これまで C# でキューを使用したことがありません)

0 投票する
4 に答える
4321 参照

c# - キューの順序

最も古いアイテムが配列の最初になるように並べ替えられたアイテムの配列があります。

キューにアイテムをポップすると、最も古いアイテムが最初に来るように、配列からキューをロードしたいと思います。

これどうやってするの?

0 投票する
4 に答える
809 参照

windows - ファイル ドロップから印刷およびアーカイブするための Windows ユーティリティ

これで、etcを使用してこれを記述できますが、FileSystemWatcherコーディングを開始する前に、(再発明するのではなく) 再利用できるより良いオプションがあるかどうか疑問に思います。

Web サーバーから、(印刷する) ファイルをキューとしてネットワーク共有にドロップしたいと考えています (順序付けはそれほど重要ではありません)。理想的には、別のマシン上の Windows サービス (ま​​たは他のクライアント) がこのファイルを取得し (tbc 形式)、事前に準備された印刷キューに印刷し、ファイルをアーカイブします。

非常に単純なシナリオ - 再発明したくないだけです。助言がありますか?

0 投票する
1 に答える
821 参照

queue - マルチレベルのキュー設計

外部 Web サービスを扱うシステムを設計しています。このサービスは、一定期間 (T) に実行できるリクエストの数を制限します。システムでは、一定数のリクエスト (R) のバッチ処理が可能です。サービスがサポートする特定の数の操作があります (O)。

私のコードは、ユーザーからの不明な数のリクエストを処理します (この時点ではまったくわかりません。1 日に 1 つのリクエスト、1 秒に数千のリクエストになる可能性があります。ただし、1 秒に数千のリクエストを想定してビルドする必要があります)。これらの結果は、一定期間データベースにキャッシュされます。データベース レコードが古くなっている場合、システムは Web サービスからデータを再度要求する必要があります。

1 つのアカウントで 1 つの IP アドレスを介してのみ Web サービスにアクセスできます (操作の種類ごとに不正行為やアカウントの取得、または操作の種類ごとに 1 つのマシンを取得することはありません)。システムは (願わくば) 単一のサーバー上ですべて実行されます。

私がやろうとしていること (私が好きな結果が得られずに数週間オンとオフについて考えていた) は、次のようなシステムを考え出すことです:

  • 重複したリクエストはマージされます (重複とは、同じリクエスト データがあることを意味します)
  • ユーザー要求はシステム要求よりも優先されます
  • システム要求をユーザー要求に変更できます (データベースの更新がキューにあり、ユーザーが同じデータを要求している)
  • 特定の操作に対する R ユーザー要求がない場合、残りはシステム要求から取得されます。
  • ユーザー要求は、入ってきたのと同じ順序で処理されます (ただし、ユーザー要求が処理されると、同じタイプの R 要求が処理されます)。

たとえば、T は 1 秒、R は 3 秒、O は 2 秒です。次の要求がシステムに入ります。

重複を処理すると、次のようになります。

リクエストは次の順序で処理する必要があります。

操作の種類は3~7種類になると思います。一部の操作タイプでは、他の操作タイプよりも多くのリクエストが発生します。システム要求は、ユーザー要求よりも多くなる可能性があります。

この種の問題に対処する一般的な方法はありますか? パターンかテクノロジーか?私はそれを考えすぎていますか (残念ながら、稼働状態になるまで使用統計を取得することはできません。それらがどうなるかを合理的に推測することさえできません)。

私が避けようとしている主なものは次のとおりです。

  • システム リクエストがユーザー リクエストに対して処理される (システム リクエストは数週間待つことができます。ユーザー リクエストはできるだけ早く処理する必要があります)。
  • データがデータベースにキャッシュされている期間に同じリクエストを 2 回行わない