Apa buffer dan streaming dalam c dan apa perbedaan antara keduanya?


Jawaban 1:

Pendek: Penyangga menjaga aliran data di bawah aliran konstan

Di C, operasi I / O tidak sinkron: Anda tidak tahu kapan Anda memiliki data atau berapa banyak. Jadi buffer biasanya digunakan untuk mengumpulkan data dari aliran (file, socket, perangkat). Ketika buffer penuh, konsumen aliran itu diberitahu dan dapat mengkonsumsi data dari buffer hingga habis. Kemudian tunggu buffer diisi lagi sebelum menggunakan data itu.

Mari kita membuat analogi dengan bendungan listrik. Sebagian air jatuh dalam tabung dan memutar turbin, yang menghasilkan listrik.

Jadi kamu butuh air. Anda pergi ke sungai. Anda membangun turbin dan membiarkan air dari sungai memutar turbin. Tetapi Anda dengan cepat memperhatikan sesuatu. STREAM air tidak konstan. Terkadang terlalu banyak, terkadang terlalu sedikit. Anda tidak dapat diprediksi. Orang-orang Anda mengutuk Anda karena TV mereka tidak berfungsi. Atau, sebaliknya, lampu ruang tamu mereka meledak karena Anda memberi terlalu banyak listrik. Jadi, Anda perlu membuat semua produksi listrik Anda konstan dan dapat diprediksi.

Jadi Anda membangun bendungan. Bendungan memberi Anda BUFFER untuk menahan air saat terlalu banyak dan menggunakannya ketika sungai STREAM memberi Anda terlalu sedikit. Dengan begitu Anda bisa konstan dan dapat diprediksi. Jika STREAM air tidak menyediakan untuk Anda untuk waktu yang lama ... Anda kemudian memberi tahu pelanggan Anda sebelumnya bahwa Anda tidak dapat menghasilkan listrik dari BUFFER selama beberapa waktu yang dapat diprediksi. Mereka akan tahu untuk mencabut TV mereka, mematikan lampu (dan memilih penyedia listrik lain).

Semoga ini membantu.


Jawaban 2:

Buffer adalah kata kunci yang akan saya katakan. Itu hanya nama mewah untuk penyimpanan sementara. Dan itu tidak hanya digunakan dalam pemrograman. Anda dapat menemukan istilah ini di banyak tempat.

Jika Anda ingin mengatakan misalnya bahwa Anda ingin memiliki buffer karakter dengan maksimum 1024, Anda akan menulis sesuatu seperti

#define BUFFER_SIZE 1024
// dan nanti kamu akan menginisialisasinya
char myData [BUFFER_SIZE]

Sekarang Anda memiliki buffer yang menyimpan 1024 bye di memori untuk beberapa operasi.

Kapan buffer digunakan. Katakanlah Anda memiliki konsumen, dan produser, dan produser katakanlah jauh lebih cepat daripada konsumen.

Anda akan mengirim data secara normal ke konsumen, sambil menyimpan dalam buffer bagian yang tidak dapat diterima konsumen saat ini.

Stream adalah apa namanya. Aliran data. Istilah itu sendiri akan menjadi abstraksi dari sebuah konstruksi yang akan memungkinkan Anda untuk mengirim atau menerima jumlah byte yang tidak diketahui.

Kapan pun Anda menulis

printf ("Sesuatu ada di sini");

Anda memulai aliran yang mencetak pesan Anda ke output standar.

Tetapi tidak harus demikian. Streaming dapat diterapkan ke file, database, dan jutaan hal lainnya.

Namun singkatnya itu hanya istilah yang digunakan untuk menggambarkan transaksi dari jumlah data yang tidak diketahui di komputer Anda dari satu tempat ke tempat lain.

Mungkin tidak 100% akurat, tapi saya pikir Anda tahu.

Bersulang.


Jawaban 3:

Aliran

File I / O Streaming dalam Bahasa Pemrograman C:

  1. Dalam C semua input dan output dilakukan dengan streamsStream tidak lain hanyalah urutan byte data. Urutan byte yang mengalir ke dalam program disebut input stream. Urutan byte yang mengalir keluar dari program disebut output stream.

Perangkat Streaming Input Standar:

  1. stdin adalah singkatan dari (Input Standar) Keyboard adalah perangkat input standar. Input standar adalah data (Sering Teks) yang masuk ke suatu program. Program meminta transfer data dengan menggunakan operasi baca. Tidak semua program memerlukan input.

Perangkat Stream Output Standar:

  1. stdout singkatan dari (Output Standar) Layar (Monitor) adalah perangkat output standar. Output standar adalah data (Sering Teks) keluar dari suatu program. Program mengirimkan data ke perangkat keluaran dengan menggunakan operasi tulis.

Penyangga

Istilah "buffer" adalah istilah yang sangat umum, dan tidak spesifik untuk IT atau CS. Ini adalah tempat untuk menyimpan sesuatu sementara, untuk mengurangi perbedaan antara kecepatan input dan kecepatan output. Sementara produsen lebih cepat daripada konsumen, produsen dapat terus menyimpan output dalam buffer. Ketika konsumen mempercepat, ia bisa membaca dari buffer. Buffer ada di tengah untuk menjembatani kesenjangan.

Bayangkan Anda memakan permen dari mangkuk. Anda mengambil satu potong secara teratur. Agar mangkuk tidak kehabisan, seseorang mungkin mengisi ulang mangkuk sebelum kosong, sehingga ketika Anda ingin mengambil bagian yang lain, ada permen di dalam mangkuk.

Mangkuk bertindak sebagai penyangga antara Anda dan kantong permen.

Jika Anda menonton film secara online, layanan web akan secara terus-menerus mengunduh sekitar 5 menit ke depan ke dalam buffer, dengan cara itu komputer Anda tidak perlu mengunduh film saat Anda menontonnya (yang akan menyebabkan menggantung).

Buffer hanyalah sepotong memori yang digunakan untuk menyimpan data. Dalam arti paling umum, biasanya satu gumpalan memori yang dimuat dalam satu operasi, dan kemudian dikosongkan dalam satu atau lebih, contoh "mangkuk permen" Perchik.

Semoga ini menyelesaikan Kueri Anda :)

Sumber: Google.