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

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

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






Когда мы работаем с файловыми потоками, они связаны с внутренним буфером типа 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; просмотров: 336. Нарушение авторских прав; Мы поможем в написании вашей работы!




Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


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

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

Медицинская документация родильного дома Учетные формы родильного дома № 111/у Индивидуальная карта беременной и родильницы № 113/у Обменная карта родильного дома...

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

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

Конституционно-правовые нормы, их особенности и виды Характеристика отрасли права немыслима без уяснения особенностей составляющих ее норм...

Толкование Конституции Российской Федерации: виды, способы, юридическое значение Толкование права – это специальный вид юридической деятельности по раскрытию смыслового содержания правовых норм, необходимый в процессе как законотворчества, так и реализации права...

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