Что означает buffer?

Я вижу слово "буфер"

  1. кто-нибудь, пожалуйста, объясните, что такое буфер в неспециалиста язык?
  2. когда он используется?
  3. как им пользоваться?

8 ответов


представьте себе, что вы едите конфеты из миски. Вы регулярно принимаете один кусок. Чтобы миска не кончилась, кто-нибудь может наполнить ее до того, как она опустеет, так что, когда вы захотите взять еще кусочек, в миске будет конфета.

шар действует как буфер между вами и мешок конфет.

Если вы смотрите фильм онлайн, веб-служба будет постоянно загружать следующие 5 минут или так в буфер, таким образом, ваш компьютер не должен загрузите фильм, как вы его смотрите (что приведет к зависанию).


термин "буфер" является очень общим термином и не является специфичным для него или CS. Это место для временного хранения чего-то, чтобы уменьшить различия между скоростью ввода и скоростью вывода. В то время как производитель работает быстрее, чем потребитель, производитель может продолжать хранить выходные данные в буфере. Когда потребитель ускоряется, он может читать из буфера. Буфер находится посередине, чтобы преодолеть разрыв.


Если вы усредняете определения на http://en.wiktionary.org/wiki/buffer, я думаю, вы поймете идею.

для доказательства того, что мы действительно "должны были пройти 10 миль думали, что снег каждый день, чтобы пойти в школу", см. TOPS-10 монитор вызывает ручной Том 1, раздел 11.9, "использование Буферизованного ввода-вывода", в закладке 11-24. Не читайте, Если вам снятся кошмары.


буфер-это просто кусок памяти, используемой для хранения данных. В самом общем смысле это обычно один сгусток памяти, который загружается в одну операцию, а затем опустошается в одном или нескольких, например, "конфетная чаша" перчика. В программе на языке C, например, у вас может быть:

#define BUFSIZE 1024
char buffer[BUFSIZE];
size_t len = ;

// ... later
while((len=read(STDIN, &buffer, BUFSIZE)) > 0)
    write(STDOUT, buffer, len);

... которая является минимальной версией cp (1). Здесь, буферный массив используется для хранения данных, считываемых Читать(2) пока он не будет написан; тогда буфер повторно используется.

используются более сложные буферные схемы, например a кольцевой буфер, где используется некоторое конечное число буферов, один за другим; как только все буферы заполнены, индекс "обертывается" так, что первый используется повторно.


Buffer означает "временное хранилище". Буферы важны в вычислениях, потому что взаимосвязанные устройства и системы редко "синхронизируются" друг с другом, поэтому, когда информация передается из одной системы в другую, ей нужно где-то ждать, пока система получателя не будет готова.


на самом деле это будет зависеть от контекста в каждом случае, поскольку нет одного определения, но, говоря очень широко, буфер - это место, чтобы временно что-то удерживать. Лучшая аналогия с реальным миром, которую я могу придумать, - это зона ожидания. Один простой пример в вычислениях, когда буфер относится к части ОЗУ, используемой для временного хранения данных.


Buffer-это временный заполнитель (переменные на многих языках программирования) в памяти (ОЗУ/диск), на который можно сбросить данные, а затем выполнить обработку.

термин "буфер" является очень общим термином и не является специфичным для него или CS. Это место для временного хранения чего-то, чтобы уменьшить различия между скоростью ввода и скоростью вывода. В то время как производитель работает быстрее, чем потребитель, производитель может продолжать хранить выходные данные в буфере. Когда потребитель ускоряется, он может читать из буфера. Буфер находится посередине, чтобы преодолеть разрыв.


Buffer-это временный заполнитель (переменные на многих языках программирования) в памяти (ОЗУ/диск), на который можно сбросить данные, а затем выполнить обработку.

есть много преимуществ буферизации, как это позволяет вещам происходить параллельно улучшить производительность ввода-вывода и т. д.

Она также имеет много недостатков, если не используется правильно, как переполнение буфера,переполнение буфера и т. д.

C пример символьного буфера.

char * buffer1 = calloc (5, sizeof (char));

char * buffer2 = calloc (15, sizeof (char));


буфер-это область данных, разделяемая аппаратными устройствами или программными процессами, которые работают на разных скоростях или с разными наборами приоритетов. Буфер позволяет каждому прибору или процессу работать без быть задержанным другим. Чтобы буфер был эффективным, размер буфера и алгоритмы перемещения данных в буфер и из буфера.

буфер представляет собой "срединное место", но существует не столько для ускорения скорости действия для поддержки координация отдельных мероприятий.

этот термин используется как в программировании, так и в аппаратной. В программировании буферизация иногда подразумевает необходимость экранировать данные с конечного места, чтобы их можно было редактировать или иным образом обрабатывать перед перемещением в обычный файл или базу данных.