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

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

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






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




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


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


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


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

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

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

Случайной величины Плотностью распределения вероятностей непрерывной случайной величины Х называют функцию f(x) – первую производную от функции распределения F(x): Понятие плотность распределения вероятностей случайной величины Х для дискретной величины неприменима...

Вопрос 1. Коллективные средства защиты: вентиляция, освещение, защита от шума и вибрации Коллективные средства защиты: вентиляция, освещение, защита от шума и вибрации К коллективным средствам защиты относятся: вентиляция, отопление, освещение, защита от шума и вибрации...

Задержки и неисправности пистолета Макарова 1.Что может произойти при стрельбе из пистолета, если загрязнятся пазы на рамке...

Вопрос. Отличие деятельности человека от поведения животных главные отличия деятельности человека от активности животных сводятся к следующему: 1...

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