ストリーム(コンピューティング)

ウィキペディアから、無料の百科事典
ナビゲーションにジャンプ 検索にジャンプ
入力、出力、およびエラーの標準ストリーム

コンピュータサイエンスではストリームは時間の経過とともに利用可能になる一連データ要素です。ストリームは、大きなバッチではなく、一度に1つずつ処理される コンベヤーベルト上のアイテムと考えることができます。

ストリームはバッチデータとは異なる方法で処理されます。通常の関数は、潜在的に無制限のデータを持っているため、ストリーム全体を操作できません。正式には、ストリームはデータ(有限)ではなく、コデータ(潜在的に無制限)です。ストリームを操作して別のストリームを生成する関数は、フィルターと呼ばれ、関数の合成と同様にパイプラインで接続できますフィルタは、一度に1つのストリーム項目を操作する場合もあれば、移動平均などの複数の入力項目に基づいて出力項目を作成する場合もあります

「ストリーム」という用語は、多くの同様の方法で使用されます。

  • sedawkperlと同様に、「ストリーム編集」ストリーム編集は、ファイルをユーザーインターフェイスにロードすることなく、1つまたは複数のファイルをインプレースで処理します。このような使用法の1つの例は、コマンドラインからディレクトリ内のすべてのファイルを検索して置換することです。
  • UnixおよびC言語に基づく関連システムでは、ストリームはデータのソースまたはシンクであり、通常は個々のバイトまたは文字ですストリームは、ファイルの読み取りや書き込み、またはネットワークソケットを介した通信の際に使用される抽象化です。標準ストリームは、すべてのプログラムで利用できる3つのストリームです。
  • I / Oデバイスは、時間の経過とともに無制限のデータを生成または消費する可能性があるため、ストリームとして解釈できます。
  • オブジェクト指向プログラミングでは、入力ストリームは一般にイテレータとして実装されます。
  • スキーム言語やその他の言語では、ストリームは遅延評価または遅延されたデータ要素のシーケンスです。ストリームはリストと同様に使用できますが、後の要素は必要な場合にのみ計算されます。したがって、ストリームは無限のシーケンスシリーズを表すことができます。[1]
  • Smalltalk 標準ライブラリや他のプログラミング言語でも、ストリームは外部イテレータです。スキームの場合と同様に、ストリームは有限または無限のシーケンスを表すことができます。
  • ストリーム処理並列処理、特にグラフィック処理では、ストリームという用語はソフトウェアだけでなくハードウェアにも適用されますそこでは、プログラムの状態がストリームの開始条件に達するとすぐに、データフロープログラミング言語で処理されるデータの準連続フローを定義します。

アプリケーション

ストリームは、プロセス間通信のチャネルの基になるデータ型として使用できます

その他の用途

「ストリーム」という用語は、複数のデータセットが単一のファイル名に関連付けられているファイルシステム フォークにも適用されます。ほとんどの場合、通常のファイルデータを構成するメインストリームが1つありますが、追加のストリームにはメタデータが含まれます。ここで、「ストリーム」は、拡張属性などの固定サイズのメタデータとは対照的に、「可変サイズのデータ​​」を示すために使用されますが、それ以外の場合に使用される「ストリーム」とは異なります。つまり、「時間の経過とともに利用可能なデータ、潜在的に無限」を意味します。

も参照してください

参考文献

外部リンク