問題タブ [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.

0 投票する
2 に答える
677 参照

c - プログラム出力のキャプチャ

私は基本的にプログラムの標準出力(printf()など)を別のプロセス/スレッドにキャプチャする小さなライブラリを作成しています...このプロセスは特定のタスクを実行する必要があります(たとえば、これらのキャプチャされた出力をファイルに書き込む) ...私は本格的なCプログラミングを始めたばかりなので、まだ学習中です。

これを行うための最良の方法を知りたいと思いました。つまり、プロセスまたはスレッドを使用することを意味します...これらのprintf()ステートメントをキャプチャするにはどうすればよいですか...また、このライブラリは、プログラムによって生成された場合、子プロセスを処理する必要があります。 。一般的な仮定は、それを使用するプログラムがスレッド化されたものであるため、どのようなアプローチを取るべきかということです。

0 投票する
2 に答える
1548 参照

embedded - 組み込みシステムでのスレッドセーフなシングル コンシューマ、シングル プロデューサー FIFO

メインループ コードと割り込みの間で情報をキューに入れるための FIFO を実装する必要がある TI DSP (TMS320F28235) があります。このキューの高速実行は非常に重要ですが、適切な操作も重要です。明示的な同期を行わずに FIFO を実装してうまくいくかどうか、またはそうでない場合は割り込みを無効にする必要があるかどうかはわかりません。

私はこのページを見つけて、ここの誰かがその適用性についてコメントできるかどうか疑問に思っていました.

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

c - リダイレクト時にプログラムに標準出力を強制的にフラッシュさせる

出力を標準出力に出力するクローズドソースプログラムがあります。出力を解析する必要があります。そのため、dup2 を使用して出力を fifo にリダイレクトし (そこから、バイナリをフォークして実行する親プロセスを読み取ることができます)、プログラムを実行します。問題は、現在ファイルに書き込みを行っているため、ファイル内の fprintf 呼び出しがバッファリングされることです。

exec を呼び出す前に、stdout で _IONBF を使用して setvbuf を呼び出してみました。しかし、問題はまだ存在します。

私の場合、setvbuf が役に立たないのはなぜですか?

出力を強制的にフラッシュするにはどうすればよいですか?

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

algorithm - LRU が FIFO より優れているのはなぜですか?

ページ ファイルに関して、FIFO よりもLeast Recent Usedの方が優れているのはなぜですか?

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

python - os.mkfifo と subprocess.Popen を連携させるには?

名前付きパイプを使用してパッチコマンドの出力をリダイレクトしようとしています。私はこのように試しました:

しかし、パッチコマンドが完了しなかったように、私のスクリプトはPopen()呼び出しで停止します。どうすれば適切に機能させることができますか?

0 投票する
6 に答える
3341 参照

c++ - FIFO リスト (要素の移動) [C++]

こんばんは、人々!

私はかなり単純な問題を解決しようとしていますが..まあ、私にはできないようです。:)

アイデアは、n 個の要素を持つ FIFO リスト (FIFO キュー) があり、値 k (k < n) が与えられているということです。私の小さなプログラムは、要素を k 個の要素で左に移動する必要があります。(たとえば、n=4、k=3、a[]=(1, 2, 3, 4) の場合、結果は 4 1 2 3 になります)。

しかし、まあ、私はそれに近づくことはできません。

これは私がこれまでに書いたものです:

どんな助けでも大歓迎です。前もって感謝します。

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

sql-server - Sql Server BULK INSERT は名前付きパイプ/fifo から読み取ることができますか?

BULK INSERT/bcp がfifoスタイルの名前付きパイプから読み取ることは可能ですか?

つまり、実際のテキスト ファイルから読み取るのではなく、別のプロセスの書き込み側にある名前付きパイプから BULK INSERT/bcp を読み取らせることができますか?

例えば:

  1. 名前付きパイプを作成する
  2. ファイルを名前付きパイプに解凍します
  3. bcp または BULK INSERT を使用して名前付きパイプから読み取る

また:

  1. 4 つの名前付きパイプを作成する
  2. 1 つのファイルを 4 つのストリームに分割し、各ストリームを個別の名前付きパイプに書き込みます
  3. bcp または BULK INSERT を使用して、4 つの名前付きパイプから 4 つのテーブルに読み込む

私が見つけた最も近いのは、この仲間(サイトには現在アクセスできません) で、 bcp を使用して名前付きパイプに書き込むことができました。彼自身のユーティリティと使用方法は次のとおりです。

しかし、彼はその逆を機能させることができませんでした。

したがって、愚か者の用事を始める前に、BULK INSERT または bcp を使用して名前付きパイプから読み取ることが基本的に可能かどうか疑問に思っています。また、可能であれば、どのように設定しますか? NamedPipeServerStream.NETSystem.IO.Pipes名前空間の他のものが適切でしょうか?

たとえば、Powershell を使用した例:

そして……なに?

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

bash - .Tsファイルを「オンデマンド」で書き込む(inotify?...)

samba共有ファイルしか読み取れないメディアプレーヤーがあります。httpストリームを再生したい(たとえば、私のドリームボックスから)。

私の考えは、Linux上のフォルダを共有することです。この共有では、視聴できるようにしたいテレビチャンネルごとに(偽の?)ファイルを配置します(例:channel1.ts、channel2.ts ...)。

メディアプレーヤーは、通常のファイルの場合と同様に、これらのファイルのみを読み取ることができます。私の必要性:これらのファイルへのアクセスを「リッスン」して、メディアプレーヤーがアクセスすると、mencoder -oac copy -ovc copy -ochannel1.tshttp ://path.to.the.broadcast.tsを起動するようにします。 。

空のファイルでinotifyを使用してみました。それはmencoderをうまく起動しますが、メディアプレーヤーはエンコードが開始する前に停止します(ファイルが空であるため、開始する前に最後に到達するため)。おそらく、読み取りをバッファリングするために5秒のビデオを埋める必要がありますか?

「fifo」を使用すると便利かもしれません=>試してみました。メディアプレーヤーが待機します。mencoderを実行すると、fifoが成長し始め、メディアプレーヤーが再生します。ええ!!!...しかしinotifyはFIFOに反応しないようです...だから私はmencoderを自動的に起動できません。

すべての提案を歓迎します。

基本的なポイント:

  • メディアプレーヤーは通常のファイルのみを読み取ることができます
  • ファイルはsamba共有フォルダーにある必要があります
  • レコードはオンデマンドで「起動」する必要があります(mediaplaterがレコードにアクセスしようとしたとき)
  • バッファファイルの記録/空にするのをやめるために「非アクティブ」を監視するのは良いことかもしれません

この質問を形式化するのは簡単ではありません。私は少しがっかりしていて、そのためにどのような検索をグーゲル化できるのかさえわかりません。

ここの何人かの教祖がトリックをするために何かを見つけることを願っています

乾杯。

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

c# - FIFOでフィルタリング

一定時間内にストリームから入ってくるパケットをフィルタリングしたいのですが。

例えば

5秒以内にすべての「A」をフィルタリングする

これを一種のFIFOで実装することを考えました。

何が最善の解決策だと思いますか?

私はc#、.net3.5を使用しています

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

c - FIFOの最後の行を読む

状況は次のとおりです。一部のプロセスは、(で作成されたmkfifo)fifoファイルに行を書き込みます。プログラムのある時点で、FIFOの最後の行を読み、他のすべての行を破棄したいと思います。FIFOの行が1行未満の場合にのみ、プロシージャがブロックされることがあります。

私はこれを行うためのきれいな方法を思い付くことができません、何かアイデアはありますか?

編集:書き込みプロセスは、FIFOへの行の書き込みを停止することはありません。最後の行が意味するのは、FIFOを読み取るまでの最後の行です。必ずしもEOFが続くとは限りません。