Mis on puhver ja vool c-s ja mis vahe neil on?


Vastus 1:

Lühike: puhver hoiab voo andmeid pideva voo all.

C-s on I / O-toimingud asünkroonsed: te ei tea, millal teil andmeid on või kui palju neist on. Seega kasutatakse ojast (fail, pesa, seade) andmete kogumiseks tavaliselt puhverlahust. Kui puhver on täis, teavitatakse selle voo tarbijaid ja nad saavad puhverist andmeid tarbida kuni ammendumiseni. Enne nende andmete kasutamist oodake, kuni puhver uuesti täidetakse.

Teeme analoogi elektrienergia tammiga. Mõni vesi langeb torusse ja see keerutab turbiini, mis toodab elektrit.

Nii et vajate vett. Lähete jõele. Ehitate oma turbiini ja lasite jõel vett turbiini keerutada. Kuid märkad kiiresti midagi. Vee STREAM ei ole püsiv. Mõnikord on seda liiga palju, mõni kord on liiga vähe. Teil pole etteaimatavust. Teie inimesed kiruvad teid, kuna nende teler ei tööta. Või vastupidi, nende elutoa pirnid plahvatavad, kuna andsite liiga palju elektrit. Seega peate kogu oma elektritootmise muutma konstantseks ja etteaimatavaks.

Nii et ehitate tammi. Tamm annab teile BUFFERI, et hoida vett, kui seda on liiga palju, ja seda kasutada siis, kui jõgi STREAM annab teile liiga vähe. Nii saate olla pidev ja etteaimatav. Kui vee STREAM ei taga teid pikka aega ..., siis teatate oma klientidele ette, et te ei saa BUFFERist elektrit toota teatud aja jooksul. Nad teavad, et ühendavad oma teleri vooluvõrgust välja, lülitavad tuled välja ja valivad mõne muu elektritootja.

Loodan, et see aitab.


Vastus 2:

Puhver on öeldud sõna. See on ajutise ladustamise jaoks lihtsalt väljamõeldud nimi. Ja seda ei kasutata ainult programmeerimisel. Selle termini leiate paljudes kohtades.

Kui soovite näiteks öelda, et soovite kasutada maksimaalselt 1024 tähemärki, siis kirjutage midagi sellist

#defineeri BUFFER_SIZE 1024
// ja hiljem saate selle lähtestada nagu näiteks
char myData [BUFFER_SIZE]

Nüüd on teil puhver, mis salvestab mõne toimingu jaoks 1024 baiti mälu.

Millal kasutatakse puhverlahust. Oletame, et teil on tarbija ja tootja ning tootja öeldakse palju kiiremini kui tarbija.

Saadaksite andmeid tavaliselt tarbijale, hoides samas puhvris osa, mida tarbija praegu ei saa.

Voog on see, mida tema nimi viitab. Andmevoog. Mõiste ise oleks konstruktsiooni abstraktsioon, mis võimaldaks teil saata või vastu võtta teadmata arvu baite.

Alati, kui kirjutate

printf ("Midagi on siin");

alustate voogu, mis prindib teie sõnumi tavaväljundisse.

Kuid see ei pea nii olema. Vooge saab rakendada failidele, andmebaasidele ja miljonile muule asjale.

Kuid lühidalt öeldes on see lihtsalt termin, mida kasutatakse teie arvutis asuva tundmatu andmemahu tehingu kirjeldamiseks ühest kohast teise.

Võib-olla mitte 100% täpne, kuid ma arvan, et saate sellest idee.

Terviseks.


Vastus 3:

Voog

Failide I / O-voog C programmeerimiskeeles:

  1. C-s toimub kogu sisend ja väljund streamsStream-i abil, kuid andmebaitide jada Programmi voolav baitide jada nimetatakse sisendvoogudeks. Programmist välja voolav baitide jada nimetatakse väljundvooguks. Streami kasutamine muudab I / O-masina sõltumatuks.

Standardne sisendvoo seade:

  1. stdin tähistab (standardsisendit). Klaviatuur on tavaline sisendseade. Tavaline sisend on programmi sisenevad andmed (sageli tekst). Programm nõuab andmete edastamist lugemistoimingu abil.Kõik programmid ei vaja sisendit.

Tavaline väljundvoo seade:

  1. stdout tähistab (standardväljundi) ekraani (kuvar) on standardne väljundseade. Tavaline väljund on programmist väljuvad andmed (sageli tekst). Programm saadab andmed väljundseadmesse kirjutamistoimingu abil.

Puhver

Mõiste "puhver" on väga üldine termin ja ei ole spetsiifiline IT ega CS jaoks. See on koht, kus midagi ajutiselt hoida, et sisendkiiruse ja väljundkiiruse erinevusi leevendada. Ehkki tootja on tarbijast kiirem, saab tootja jätkata toodangu hoidmist puhvris. Kui tarbija kiirendab, saab ta puhverist lugeda. Puhver on keskel tühimiku täitmiseks.

Kujutage ette, et sööte kommi kausist. Võtate korrapäraselt ühte tükki. Kausi otsa saamise vältimiseks võib keegi kausi uuesti enne tühjaks saamist uuesti täita, nii et kui soovite veel ühe tüki võtta, on kausis kommid.

Kauss toimib puhvrina teie ja kommikoti vahel.

Kui vaatate filmi veebis, laadib veebiteenus järgmised umbes 5 minutit pidevalt puhverlahtrisse, nii et teie arvuti ei pea filmi alla laadima, kui seda vaatate (see võib põhjustada riputamise).

Puhver on lihtsalt mälu tükk, mida kasutatakse andmete hoidmiseks. Kõige üldisemas mõttes on see tavaliselt üks mäluplekk, mis laaditakse ühe toiminguga ja tühjendatakse seejärel ühes või mitmes Perchiku "kommikausi" näites.

Loodetavasti see lahendab teie päringu :)

Allikas: Google.