GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Main page
  • Contents
  • Current events
  • Random article
  • About Wikipedia
  • Contact us
  • Help
  • Learn to edit
  • Community portal
  • Recent changes
  • Upload file
  • Special pages
  • Search
  • Donate

This view

  • Original page
  • New address

GeezerVison is showing en.wikipedia.org — Stream (computing) - Wikipedia

For related concepts, see Stream (abstract data type), Data stream, Bitstream, and STREAMS.
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
icon
This article relies on a single source. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "Stream" computing – news · newspapers · books · scholar · JSTOR
(April 2015) (Learn how and when to remove this message)
This article includes a list of general references but lacks sufficient corresponding inline citations. Please help improve this article by introducing more precise citations. (April 2015) (Learn how and when to remove this message)
icon
This article's lead section may need to be rewritten. Please review the lead guide and help improve the lead of this article if you can. (April 2015) (Learn how and when to remove this message)
(Learn how and when to remove this message)
The standard streams for input, output, and error

In computer science, a stream is a sequence of potentially unlimited data elements made available over time. A stream can be thought of as items on a conveyor belt being processed one at a time rather than in large batches. Streams are processed differently from batch data.

Normal functions cannot operate on streams as a whole because they have potentially unlimited data. Formally, streams are codata (potentially unlimited), not data (which is finite).

Functions that operate on a stream producing another stream are known as filters and can be connected in pipelines in a manner analogous to function composition. Filters may operate on one item of a stream at a time or may base an item of output on multiple items of input, such as a moving average.

Examples

The term stream is used in a number of similar ways:

  • Stream editing, as with sed, awk, and perl. Stream editing processes a file or files, in-place, without having to load the file(s) into a user interface. One example of such use is to do a search and replace on all the files in a directory, from the command line.
  • On Unix and related systems based on the C language, a stream is a source or sink of data, usually individual bytes or characters. Streams are an abstraction used when reading or writing files, or communicating over network sockets. The standard streams are three streams made available to all programs.
  • I/O devices can be interpreted as streams, as they produce or consume potentially unlimited data over time.
  • In object-oriented programming, input streams are generally implemented as iterators or sequence as such used in Simula.[1]: 12.1 
  • In the Scheme language and some others, a stream is a lazily evaluated or delayed sequence of data elements. A stream can be used similarly to a list, but later elements are only calculated when needed. Streams can therefore represent infinite sequences and series.[2]
  • In the Smalltalk standard library and in other programming languages as well, a stream is an external iterator. As in Scheme, streams can represent finite or infinite sequences.
  • Stream processing — in parallel processing, especially in graphic processing, the term stream is applied to hardware as well as software. There, it defines the quasi-continuous flow of data that is processed in a dataflow programming language as soon as the program state meets the starting condition of the stream.

Applications

[icon]
This section needs expansion. You can help by adding missing information. (February 2014)

Streams can be used as the underlying data type for channels in interprocess communication.

Other uses

The term stream is also applied to file system forks, where multiple sets of data are associated with a single filename. Most often, there is one main stream that makes up the normal file data, while additional streams contain metadata. Here, stream is used to indicate variable-size data, as opposed to fixed-size metadata such as extended attributes, but differs from stream as used otherwise, meaning, data available over time, potentially infinite.

See also

  • Bitstream
  • Codata
  • Data stream
  • Data stream mining
  • Traffic flow (computer networking)
  • Network socket
  • Streaming algorithm
  • Streaming media
  • Stream processing

References

  1. ↑ Dahl, Ole-Johan; Myhrhaug, Bjørn; Nygaard, Kristen (1970). Common Base Language (PDF) (Report). Norwegian Computing Center. Archived from the original on 2024-09-19. Retrieved 20 August 2025.
  2. ↑ SRFI 41: Streams

External links

  • An Approximate L1-Difference Algorithm for Massive Data Streams, 1995 Feigenbaum et al.
Retrieved from "https://en.wikipedia.org/w/index.php?title=Stream_(computing)&oldid=1364077682"
Categories:
  • Computer data
  • Inter-process communication
Hidden categories:
  • Articles with short description
  • Short description is different from Wikidata
  • Articles needing additional references from April 2015
  • All articles needing additional references
  • Articles lacking in-text citations from April 2015
  • All articles lacking in-text citations
  • Wikipedia introduction cleanup from April 2015
  • All pages needing cleanup
  • Articles covered by WikiProject Wikify from April 2015
  • All articles covered by WikiProject Wikify
  • Articles with multiple maintenance issues
  • CS1: unfit URL
  • Articles to be expanded from February 2014
  • All articles to be expanded
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.