問題タブ [fifo]
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.
data-structures - 償却分析: 2 つのスタックを持つ FIFO
各 FIFO 操作に一定の償却時間がかかるように、2 つのスタックを使用して FIFO キューを実装する方法は?
php - FIFO、Mplayer、php
PHPでFIFOファイルを使用するには? mplayer を制御したいのですが、[system("echo pause > /tmp/mplayer.fifo) を使用して] ファイルを一時停止する方法は知っていますが、純粋な php を使用してコマンドを送信し、出力を読み取る方法がわかりません。
filesystems - カーネルからユーザースペースに大きなデータを転送するための最良の方法
Linuxカーネルモジュールからユーザースペースに毎秒数メガバイトのデータを転送する必要があります。モジュールから読み取った場合、モジュールからのメッセージを見逃したくありません。これを行うための最良の方法は何ですか?
これには、名前付きパイプ、Proc-File、Block-Deviceなど、考えられる解決策はほとんどありません。しかし、私はカーネル初心者なので、どれを選択すればよいか、どれが最高のパフォーマンスを約束するかはわかりません。
現時点では、カーネルモジュールでリングバッファ(スピンロック付き)を使用してメッセージを保存し、Proc-Fileが読み取られている場合は、Ring-BufferからProc-Fileにデータを配置します。ユーザー側には、cat /proc/procfile
繰り返し実行して出力を表示するプログラムがあります。このソリューションの問題は、取得する代わりに
メッセージ1メッセージ2メッセージ3
出力には、(場合によっては、数千のメッセージごとに1回)表示されます。
MESSAGE 1 MESSMESSAGE3
java - ThreadPoolExecutor で FIFO 実行順序を保証する方法
次のコード行で ThreadPoolExecutor を作成します。
次に、25 のタスク (T01 から T25) を実行するので、状況は次のようになります。
- 現在実行中の 5 つのタスク (T01 ~ T05)
- キューで待機中の 20 タスク (T06 ~ T25)
もう 1 つのタスク (T26) を配置すると、キューがいっぱいになるため、古いタスク (T06) が削除されて起動されると予想され (MaxPoolSize に達していないため)、新しいタスク (T26) が最後に配置されます。待ち行列。
しかし実際には、Queue がいっぱいで MaxPoolSize に達していない場合、最新のタスクが開始されます。
ので、私は持っています ...
- 現在実行中の 6 つのタスク (T01 ~ T05 および T26)
- キューで待機中の 20 タスク (T06 ~ T25)
... それ以外の ...
- 現在実行中の 6 つのタスク (T01 ~ T06)
- キューで待機中の 20 タスク (T07 ~ T26)
期待される結果を得るために ThreadPoolExecutor を構成できますか? 別のクラスを使用する必要がありますか?
詳細については、ThreadPoolExecutor ソース コードの一部
ありがとう
linux - FIFO を介した stdin のリダイレクト
GNU/Linux でサーバー アプリ (Java で記述) を実行しています。これは、入力 (stdin からだと思います) を受け取り、それを解釈していくつかのコマンドを実行します。ターミナル ウィンドウ内でアプリを実行したくありませんが (デーモンを実行したい)、いつでもコマンドを入力できるようにしたいと考えています。fifosを使えばできるかもしれないと思ったので、mknodで作成しました。問題はcat fifofile > java...とcat fifofile | java ...何らかの理由で「ファイルが見つかりません」というエラーで失敗します。
cat のみを使用して読み取りと書き込みを行い、fifo は問題なく動作します。
これを修正する方法、または同じ目標を達成する他の方法はありますか?
c - CでFIFOを開くのに問題がある
CでFIFOを開くのに問題があります。最初にアクセス許可:0777でmkfifo()関数を使用してFIFOを作成しましたが、それらを開こうとすると、最初のFIFOのみを開くことに成功し、プロセスがスタックします。 2番目のFIFOを開くと、これが私のコードです。
これは実行されませんが、2行目をコメントすると実行されます!プロセスごとに開くFIFOの数に制限はありますか?なぜこれが起こっているのかわかりません..問題が何であるかを理解するために3時間費やしただけですが、結果はありません:(
datetime - System.Collections が私のシナリオに最適です
string
との 2 つのタイプを格納するためのコレクションが必要ですDateTime
。
はstring
コレクションのキーであり、コレクションへDateTime
の挿入時間です。ある方法でコレクションからアイテムを削除したいFIFO
。
コレクションは重複キーを拒否し、クエリ可能にする必要DateTime
があります。そのため、特定の日付よりも古いアイテムの数が必要な場合は、回答できます。
linux - 割り込みハンドラは FIFO に書き込むことができますか
FIFO で受信したイベントを待機しているスレッドがあります。ほとんどのイベントは、同じプロセス内の別のスレッドから送信される構成イベントです。FIFO に書き込む割り込みハンドラを使用して、スレッドが割り込みイベントを処理できるようにしたいのですが、それは可能ですか?
FIFO を使用する代わりに他の提案を歓迎します!
c - UNIX FIFO: FIFO の入力側を閉じないとプロセスがハングする
UNIX FIFO を使い始めたばかりで、最初の FIFO プログラムを試しているときに何かを発見しました。プログラムは次のように動作します。FIFO を作成した後、fork()
関数を使用して 2 つのプロセスが開始されます。子プロセスは、父親が FIFO を介して彼に渡したものを読み取り、それを画面に出力します。交換されるデータは、引数として指定された文字列です。問題は、ファーザー セクションで、FIFO の入力側を閉じるのを忘れた場合 (close(fd)
行を除外することを意味します)、プロセス間のデータが正しく交換されていても、プログラムがハングすることです。それ以外の場合は、すべて正常に動作し、プログラムはハングせずに終了します。誰かが私に理由を説明してもらえますか?
お待ち頂きまして、ありがとうございます。メイン関数のコードは次のとおりです。
java - javaで使用する正しいデータ構造は何ですか?
整数をデータ構造に保存したいのですが、取得できる整数の数がわかりません。データベースをFIFO型にしたい。この目的には何が最適ですか?