Aller au contenu

Flux (informatique)

Un article de Wikipédia, l'encyclopédie libre.

En informatique, un flux (en anglais : stream) est une suite infinie d'éléments gérés de façon temporelle. Un flux présente ainsi une analogie avec une bande transporteuse où les éléments sont traités séquentiellement, plutôt que globalement.

Les flux ne sont pas traités comme les lots de données - en effet les fonctions usuelles n'y fonctionnent pas de façon globale - parce qu'ils sont des données potentiellement illimitées et non pas des données classiques (par définition finies). Les fonctions qui opèrent sur des flux, produisant des autres flux, fonctionnent plutôt comme des filtres, et peuvent être comparées à des chaînes de traitement (ou pipelines), car elles agissent de manière analogue à la composition des fonctions. Comme les filtres, ces fonctions sur les flux calculent sur un constituant à la fois ou parfois peuvent produire un élément du flux de sortie à partir de plusieurs constituants de l'entrée, à la manière d'un moyenneur glissant.

Les flux ont été introduits par Gilles Kahn et David MacQueen en 1977 sous le nom de canaux (channels en anglais) dans le cadre de processus producteur-consommateur[1]. Le concept avait déjà été esquissé, par Peter J. Landin en 1965, sous le nom de stream, pour des listes finies[2].

Références

[modifier | modifier le code]