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

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

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






Когда мы работаем с файловыми потоками, они связаны с внутренним буфером типа 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 оперирует с двумя категориями...


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

Признаки классификации безопасности Можно выделить следующие признаки классификации безопасности. 1. По признаку масштабности принято различать следующие относительно самостоятельные геополитические уровни и виды безопасности. 1.1. Международная безопасность (глобальная и...

Прием и регистрация больных Пути госпитализации больных в стационар могут быть различны. В цен­тральное приемное отделение больные могут быть доставлены: 1) машиной скорой медицинской помощи в случае возникновения остро­го или обострения хронического заболевания...

ПУНКЦИЯ И КАТЕТЕРИЗАЦИЯ ПОДКЛЮЧИЧНОЙ ВЕНЫ   Пункцию и катетеризацию подключичной вены обычно производит хирург или анестезиолог, иногда — специально обученный терапевт...

Трамадол (Маброн, Плазадол, Трамал, Трамалин) Групповая принадлежность · Наркотический анальгетик со смешанным механизмом действия, агонист опиоидных рецепторов...

Мелоксикам (Мовалис) Групповая принадлежность · Нестероидное противовоспалительное средство, преимущественно селективный обратимый ингибитор циклооксигеназы (ЦОГ-2)...

Менадиона натрия бисульфит (Викасол) Групповая принадлежность •Синтетический аналог витамина K, жирорастворимый, коагулянт...

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