Flux (calcul) - Stream (computing)
În informatică , un flux este o secvență de elemente de date puse la dispoziție în timp. Un flux poate fi considerat ca elemente de pe o bandă transportoare care sunt procesate pe rând, mai degrabă decât în loturi mari.
Fluxurile sunt procesate diferit de datele de lot - funcțiile normale nu pot funcționa pe fluxuri în ansamblu, deoarece au date potențial nelimitate și formal, fluxurile sunt codate (potențial nelimitate), nu date (care sunt finite). Funcțiile care operează pe un flux, producând un alt flux, sunt cunoscute sub numele de filtre și pot fi conectate în conducte , în mod analog compoziției funcționale . Filtrele pot funcționa pe un element dintr-un flux la un moment dat sau pot baza un element de ieșire pe mai multe elemente de intrare, cum ar fi o medie mobilă .
Exemple
Termenul „flux” este utilizat în mai multe moduri similare:
- „Editare în flux”, ca și în cazul sed , awk și perl . Editarea fluxului procesează un fișier sau fișiere, în loc, fără a fi nevoie să încărcați fișierele într-o interfață cu utilizatorul. Un exemplu de astfel de utilizare este efectuarea unei căutări și înlocuirea tuturor fișierelor dintr-un director, din linia de comandă.
- Pe Unix și sistemele conexe bazate pe limbajul C , un flux este o sursă sau o sumă de date, de obicei octeți individuali sau caractere . Fluxurile sunt o abstracție utilizată la citirea sau scrierea fișierelor sau la comunicarea prin socketurile de rețea . De fluxuri standard , sunt trei fluxuri puse la dispoziția tuturor programelor.
- Dispozitivele I / O pot fi interpretate ca fluxuri, deoarece produc sau consumă date potențial nelimitate în timp.
- În programarea orientată obiect , fluxurile de intrare sunt în general implementate ca iteratoare .
- În limbajul Scheme și în altele, un flux este o secvență de elemente de date leneș sau întârziată . Un flux poate fi utilizat în mod similar cu o listă, dar elementele ulterioare sunt calculate numai atunci când este necesar. Fluxurile pot reprezenta deci secvențe și serii infinite .
- În biblioteca standard Smalltalk și în alte limbaje de programare , un flux este un iterator extern . Ca și în Scheme, fluxurile pot reprezenta secvențe finite sau infinite.
- Procesarea fluxului - în procesarea paralelă , în special în procesarea grafică, termenul flux este aplicat atât hardware-ului , cât și software-ului . Acolo definește fluxul cvasi-continuu de date care este procesat într-un limbaj de programare a fluxului de date imediat ce starea programului îndeplinește condiția de pornire a fluxului.
Aplicații
Fluxurile pot fi utilizate ca tip de date subiacent pentru canalele din comunicarea interproces .
Alte utilizări
Termenul „flux” se aplică și furcilor sistemului de fișiere , unde mai multe seturi de date sunt asociate cu un singur nume de fișier. Cel mai adesea, există un flux principal care alcătuiește datele normale ale fișierului, în timp ce fluxurile suplimentare conțin metadate . Aici „flux” este utilizat pentru a indica „date cu dimensiuni variabile”, spre deosebire de metadatele cu dimensiuni fixe, cum ar fi atributele extinse , dar diferă de „flux” așa cum se utilizează altfel, adică „date disponibile în timp, potențial infinit”.
Vezi si
- Bitstream
- Codata
- Flux de date
- Exploatarea fluxului de date
- Flux (rețea computerizată)
- Priză de rețea
- Algoritm de streaming
- Streaming media
- Procesarea fluxului