Koji su međuspremnik i tok u c i koja je razlika između dva?


Odgovor 1:

Ukratko: međuspremnik drži podatke toka pod stalnim protokom.

U C, I / O operacije su asinhrone: ne znate kada imate podatke niti koliko podataka. Tako se obično sakupljač koristi za prikupljanje podataka iz struje (datoteka, utičnica, uređaj). Kada se međuspremnik puni, potrošači tog toka su obaviješteni i mogu konzumirati podatke iz međuspremnika dok se ne potroši. Zatim pričekajte da se međuspremnik ponovno napuni prije upotrebe tih podataka.

Napravimo analogiju s nasipom za struju. Nekoliko vode pada u cijev i ona vrti turbinu, koja proizvodi električnu energiju.

Dakle, treba vam voda. Idete rijekom. Vi izgradite svoju turbinu i pustite da voda iz rijeke vrti turbinu. Ali brzo nešto primijetite. VIJAK vode nije konstantan. Ponekad je previše, a nekad premalo. Nemate predvidivost. Vaši ljudi vas psuju jer njihov televizor ne radi. Ili, naprotiv, žarulje njihove dnevne sobe eksplodiraju jer ste dali previše električne energije. Stoga je potrebno cijelu proizvodnju električne energije učiniti konstantnom i predvidivom.

Dakle, izgradite nasip. Brana vam daje BUFFER da zadržite vodu kad je previše i da je koristite kad rijeka STREAM daje premalo. Na taj način možete biti konstantni i predvidljivi. Ako vam SREĆA voda dugo ne daje ... tada obavijestite svoje kupce unaprijed da ne možete proizvoditi električnu energiju s vašeg BUFFER-a neko predvidljivo vrijeme. Oni će znati isključiti utikač televizora, ugasiti svjetla (i izabrati drugog davatelja električne energije).

Nadam se da ovo pomaže.


Odgovor 2:

Bufer je govorna riječ koju bih rekao. To je samo maštovito ime za privremenu pohranu. I ne koristi se samo u programiranju. Termin možete pronaći na mnogim mjestima.

Ako želite, na primjer, reći da želite imati međuspremnik znakova s ​​najviše 1024, napisali biste nešto poput

#define BUFFER_SIZE 1024
// i kasnije biste je inicijalizirali kao
char myData [BUFFER_SIZE]

Sada imate međuspremnik koji pohranjuje 1024 bye-a u memoriju za neke operacije.

Kada se koristi tampon. Recimo da imate potrošača, a proizvođač, a proizvođač je, recimo, mnogo brži od potrošača.

Podatke biste normalno poslali potrošaču, a pohranjivali u međuspremnik dio koji trenutno korisnik ne može primiti.

Stream je ono što mu ime sugerira. Tok podataka. Sam termin bi bio apstrakcija konstrukta koji će vam omogućiti slanje ili primanje nepoznatog broja bajtova.

Kad god pišete

printf ("Nešto je ovdje");

pokrećete stream koji ispisuje vašu poruku na standardni izlaz.

Ali to ne mora biti slučaj Struje se mogu primijeniti na datoteke, baze podataka i milijun drugih stvari.

Ukratko, to je samo izraz koji se koristi za opisivanje transakcije nepoznate količine podataka na vašem računalu s jednog mjesta na drugo.

Možda nije 100% točan, ali mislim da ste shvatili ideju.

Živjeli.


Odgovor 3:

potok

Datoteke I / O tokova na programskom jeziku C:

  1. Na C-u se sav ulaz i izlaz vrši s streamamaStream nije ništa drugo nego slijed bajtova dataA slijed bajtova koji teče u program naziva se ulazni streamA slijed bajtova koji izlazi iz programa naziva se izlazni streamUsetak struje čini I / O stroj neovisnim.

Standardni uređaj za ulazni tok:

  1. stdin je kratica (Standardni unos) Tipkovnica je standardni uređaj za unos. Standardni unos su podaci (često tekst) koji ulaze u program. Program zahtijeva prijenos podataka pomoću operacije čitanja. Nisu svi programi potrebni unos.

Standardni izlazni tok uređaj:

  1. stdout označava (Standard Output) ekran (Monitor) je standardni izlazni uređaj. Standardni izlaz su podaci (često tekst) koji izlaze iz programa. Program šalje podatke na izlazni uređaj pomoću operacije pisanja.

Pufer

Izraz "međuspremnik" je vrlo općenit pojam i nije specifičan za IT ili CS. To je mjesto za privremeno spremanje, kako bi se ublažile razlike između ulazne i izlazne brzine. Dok je proizvođač brži od potrošača, proizvođač može nastaviti pohranjivati ​​izlaz u međuspremnik. Kad potrošač ubrza, može čitati iz međuspremnika. Tampon je tamo u sredini da premosti prazninu.

Zamislite da jedete slatkiše iz zdjele. Redovno uzimaš jedan komad. Da biste spriječili da se zdjelica potroši, netko će je možda ponovno napuniti prije nego što se isprazni, tako da kada želite uzeti još jedan komad, u posudi ima slatkiša.

Posuda djeluje kao tampon između vas i vrećice bombona.

Ako gledate film online, web usluga neprestano će preuzimati sljedećih 5 minuta ili slično u međuspremnik, na taj način vaše računalo ne mora preuzeti film dok ga gledate (što bi moglo dovesti do zastoja).

Spremnik je jednostavno komad memorije koja se koristi za držanje podataka. U najopćenitijem smislu, to je obično jedna mrlja memorije koja se učitava u jednoj operaciji, a zatim se prazni u jednoj ili više, Perčikovoj primjeri "zdjelice s bombonima".

Nadam se da će ovo riješiti vaš upit :)

Izvor: Google.