Студопедия — Буферы и синхронизация
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Буферы и синхронизация







Когда мы работаем с файловыми потоками, они связаны с внутренним буфером типа streambuf. Этот буфер памяти блок, который выступает в качестве посредника между потоком и физического файла. Например, с ofstream, каждый раз пут функция-член (который записывает один символ), что называется, символ не записывается непосредственно в физический файл, с которым поток связан. Вместо этого, символ вставляется в промежуточном буфере потока.

 

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


  • When the file is closed: ​​перед закрытием файла все буферы, которые еще не были сброшены синхронизируются, и все в ожидании данных записи или чтения к физической среде.
  • When the buffer is full: Буферы имеют определенный размер. Когда буфер заполнен, он автоматически синхронизированы.
  • Explicitly, with manipulators: При определенных манипуляторы используются на потоки, явная синхронизация происходит. Эти манипуляторы:flush and endl.
  • Explicitly, with member function sync(): Вызов члена потока Функция sync(), который принимает никаких параметров, вызывает немедленную синхронизацию. Эта функция возвращает целое значение, равное -1, если поток не имеет связанного буфера или в случае неудачи. В противном случае (если поток буфер был успешно синхронизированы) возвращает 0.

 







Дата добавления: 2015-08-12; просмотров: 313. Нарушение авторских прав; Мы поможем в написании вашей работы!



Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

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

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Классификация холодных блюд и закусок. Урок №2 Тема: Холодные блюда и закуски. Значение холодных блюд и закусок. Классификация холодных блюд и закусок. Кулинарная обработка продуктов...

ТЕРМОДИНАМИКА БИОЛОГИЧЕСКИХ СИСТЕМ. 1. Особенности термодинамического метода изучения биологических систем. Основные понятия термодинамики. Термодинамикой называется раздел физики...

Травматическая окклюзия и ее клинические признаки При пародонтите и парадонтозе резистентность тканей пародонта падает...

Различие эмпиризма и рационализма Родоначальником эмпиризма стал английский философ Ф. Бэкон. Основной тезис эмпиризма гласит: в разуме нет ничего такого...

Индекс гингивита (PMA) (Schour, Massler, 1948) Для оценки тяжести гингивита (а в последующем и ре­гистрации динамики процесса) используют папиллярно-маргинально-альвеолярный индекс (РМА)...

Методика исследования периферических лимфатических узлов. Исследование периферических лимфатических узлов производится с помощью осмотра и пальпации...

Studopedia.info - Студопедия - 2014-2024 год . (0.011 сек.) русская версия | украинская версия