Secuencia de elementos de datos disponibles a lo largo del tiempo.
Los flujos estándar para entrada, salida y error.
En informática , una secuencia es una secuencia de elementos de datos potencialmente ilimitados que se ponen a disposición a lo largo del tiempo. Se puede pensar en un flujo como elementos en una cinta transportadora que se procesan uno a la vez en lugar de en grandes lotes. Las transmisiones se procesan de manera diferente a los datos por lotes .
Las funciones normales no pueden funcionar en transmisiones en su totalidad porque tienen datos potencialmente ilimitados. Formalmente, los flujos son codata (potencialmente ilimitados), no datos (que son finitos).
Las funciones que operan en una secuencia que produce otra secuencia se conocen como filtros y se pueden conectar en tuberías de manera análoga a la composición de funciones . Los filtros pueden operar en un elemento de una secuencia a la vez o pueden basar un elemento de salida en múltiples elementos de entrada, como un promedio móvil .
Ejemplos
El término "corriente" se utiliza de varias maneras similares:
"Edición de secuencia", como con sed , awk y perl . La edición en streaming procesa uno o varios archivos, in situ, sin tener que cargar los archivos en una interfaz de usuario. Un ejemplo de tal uso es realizar una búsqueda y reemplazo de todos los archivos en un directorio, desde la línea de comando.
En Unix y sistemas relacionados basados en el lenguaje C , una secuencia es una fuente o sumidero de datos, generalmente bytes o caracteres individuales . Las transmisiones son una abstracción que se utiliza al leer o escribir archivos, o al comunicarse a través de sockets de red . Las transmisiones estándar son tres transmisiones disponibles para todos los programas.
Los dispositivos de E/S pueden interpretarse como flujos, ya que producen o consumen datos potencialmente ilimitados a lo largo del tiempo.
En el lenguaje Scheme y algunos otros, una secuencia es una secuencia de elementos de datos evaluada de forma diferida o retrasada . Una secuencia se puede usar de manera similar a una lista, pero los elementos posteriores solo se calculan cuando es necesario. Por lo tanto, las corrientes pueden representar infinitas secuencias y series . [1]
El término "flujo" también se aplica a las bifurcaciones del sistema de archivos , donde se asocian múltiples conjuntos de datos con un único nombre de archivo. La mayoría de las veces, hay una secuencia principal que constituye los datos del archivo normal, mientras que las secuencias adicionales contienen metadatos . Aquí, "flujo" se utiliza para indicar "datos de tamaño variable", a diferencia de los metadatos de tamaño fijo, como los atributos extendidos , pero difiere de "flujo" en el sentido contrario, que significa "datos disponibles a lo largo del tiempo, potencialmente infinitos".