Состояния конкуренции, связанные с таймерами

Состояния конкуренции, связанные с таймерами

Так как таймеры выполняются асинхронно по отношению к выполняемому в данный момент коду, то потенциально могут возникнуть несколько типов состояний конкуренции за ресурсы. Во-первых, никогда нельзя использовать следующий код, как замену функции mod_timer().

del_timer(my_timer);

my_timer->expires = jiffies + new_delay;

add_timer(my_timer);

Во-вторых, практически во всех случаях следует использовать функцию del_timer_sync(), а не функцию del_timer(). В противном случае нельзя гарантировать, что обработчик таймера в данный момент не выполняется. Представьте себе, что после удаления таймера код освободит память или каким-либо другим образом вмешается в ресурсы, которые использует обработчик таймера. Поэтому синхронная версия более предпочтительна.

Наконец, необходимо гарантировать защиту всех совместно используемых дан- пых, к которым обращается функция-обработчик таймера. Ядро выполняет эту функцию асинхронно по отношению к другому коду. Совместно используемые данные должны защищаться так, как рассматривалось в главах 8 и 9.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

Критические участки и состояние конкуренции за ресурсы

Из книги автора

Критические участки и состояние конкуренции за ресурсы Ветки кода, которые получают доступ к совместно используемыми данным и манипулируют ими, называются критическими участками (critical region). Обычно небезопасно нескольким потокам выполнения одновременно обращаться к


23.11. Управление таймерами

Из книги автора

23.11. Управление таймерами Протокол SCTP имеет множество численных пользовательских параметров. Все они устанавливаются через параметры сокетов, рассмотренные в разделе 7.10. Далее мы займемся рассмотрением нескольких параметров, определяющих задержку перед объявлением об


5.16.2 Поводы для конкуренции

Из книги автора

5.16.2 Поводы для конкуренции Поводов для конкуренции при выполнении системной функции unlink очень много, особенно при удалении имен каталогов. Команда rmdir удаляет каталог, убедившись предварительно в том, что в каталоге отсутствуют файлы (она считывает каталог и проверяет


1.7.4 Связанные документы

Из книги автора

1.7.4 Связанные документы Серия RFC не содержит спецификаций протоколов и была опубликована как отдельный набор документов For Your Information (FYI — К вашему сведению). Например: RFC 1325 Answers to commonly asked "new Internet user" questions (Ответы на наиболее распространенные вопросы новых пользователей


Связанные документы

Из книги автора

Связанные документы В последних версиях Windows появилось понятие сопоставленных файлов. Например, если вы собираетесь переместить или удалить html-документ, то будут также перемещены или удалены и сопоставленные с этим документом файлы, которые содержаться в папке


Зачем выходить из ценовой конкуренции

Из книги автора

Зачем выходить из ценовой конкуренции Для интернет-магазина ценовая конкуренция – прямой путь к банкротству (насколько быстрый – другой вопрос). Ее могут позволить себе только крупные фирмы за счет своих гигантских оборотов.Нужно понимать, что в любой нише Интернета


Бонус № 3. Принцип УТП, гарантированно повышающий эффективность рекламы независимо от конкуренции

Из книги автора

Бонус № 3. Принцип УТП, гарантированно повышающий эффективность рекламы независимо от конкуренции В современных условиях интернет-бизнеса трудно предложить потребителю то, чего еще не предлагали ваши конкуренты. С каждым днем все сложнее вырабатывать свою, отличную от


Связанные файлы

Из книги автора

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


6.4. Проблемы, связанные с блокировками

Из книги автора

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


Проблема конкуренции и роль синхронизации потоков

Из книги автора

Проблема конкуренции и роль синхронизации потоков Одним из множества "преимуществ" (читайте источников проблем) многопоточного программирования является то, что вы имеете очень узкие возможности контроля в отношении использования потоков операционной системой и


Параметры, связанные с коммуникацией

Из книги автора

Параметры, связанные с коммуникацией ConnectionTimeoutВерсия 1.5 и более поздние.connection_timeoutВерсии, предшествующие Firebird 1.5.Задает количество секунд ожидания до прекращения попытки соединения. Значение по умолчанию 180.DummyPacketlntervalВерсия 1.5 и более поздние.dummy_packet_intervalВерсии,


48 Связанные объекты

Из книги автора

48 Связанные объекты Что делает тот или иной предмет легким для понимания? Что делает тот или иной предмет простым в использовании? Что превращает совокупность объектов — не отдельных, а представленных в определенном контексте — в набор рабочих инструментов? Возьмем


Задания, связанные с ЕГЭ по информатике

Из книги автора

Задания, связанные с ЕГЭ по информатике Начиная с версии 4.10, задачник Programming Taskbook включает набор групп заданий, связанных с ЕГЭ по информатике и ИКТ. Эти группы начинаются с префикса Exam; они доступны для программных сред языков Pascal (в том числе PascalABC.NET) и C++.В базовый набор


У15.5 Связанные стеки

Из книги автора

У15.5 Связанные стеки Основываясь на классах STACK и LINKED_LIST, постройте класс LINKED_STACK, описывающий реализацию стека как связного


Ошибки, связанные с сетью

Из книги автора

Ошибки, связанные с сетью Большинство ошибок, связанных с сетью (табл. 6.2), под силу исправить только администратору сети. Вам лишь нужно понимать, что произошло. Ведь не всегда нужно жаловаться администратору. Например, ошибка 1215 – это сугубо пользовательская ошибка:


5.3 Мониторинг состояния системы, устранение ошибок, восстановление утерянных файлов и защита данных Анализ состояния аппаратной части системы

Из книги автора

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