5.5. Ограничения очередей сообщений
5.5. Ограничения очередей сообщений
Мы уже сталкивались с двумя ограничениями, устанавливаемыми для любой очереди в момент ее создания:
? mq_maxmsg — максимальное количество сообщений в очереди;
? mq_msgsize — максимальный размер сообщения.
Не существует каких-либо ограничений на эти значения, хотя в рассматриваемых реализациях необходимо наличие в файловой системе места для файла требуемого размера. Кроме того, ограничения на эти величины могут накладываться реализацией виртуальной памяти (см. упражнение 5.5).
Другие два ограничения определяются реализацией:
? MQ_OPEN_MAX — максимальное количество очередей сообщений, которые могут быть одновременно открыты каким-либо процессом (Posix требует, чтобы эта величина была не меньше 8);
? MQ_PRIO_MAX — максимальное значение приоритета плюс один (Posix требует, чтобы эта величина была не меньше 32).
Эти две константы часто определяются в заголовочном файле <unistd.h> и могут быть получены во время выполнения программы вызовом функции sysconf, как мы покажем далее.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Реализация очередей отложенных действий
Реализация очередей отложенных действий В своей наиболее общей форме подсистема очередей отложенных действий — это интерфейс для создания потоков пространства ядра, которые выполняют некоторые действия, где-то поставленные в очередь. Эти потоки ядра называются
Использование очередей отложенных действий
Использование очередей отложенных действий Использовать очереди действий просто. Сначала мы рассмотрим рабочие потоки, используемые по умолчанию, — events, а затем опишем создание новых типов рабочих потоков.Создание отложенных действийПервый этап — это создание самого
Старый механизм очередей заданий
Старый механизм очередей заданий Так же как и в случае интерфейса BH, который дал начало интерфейсам отложенных прерываний (softirq) и тасклетов (tasklet), интерфейс очередей действий возник благодаря недостаткам интерфейса очередей заданий (task queue). Интерфейс очередей заданий
7.5.4. Ограничения
7.5.4. Ограничения Несмотря на то что Electric Fence выполняет неплохую работу по обнаружению переполнения буферов, выделенных malloc(), он не помогает отслеживать проблемы ни с глобальными, ни с локальными данными. Electric Fence также не обнаруживает утечки памяти, потому решать эту
Ограничения
Ограничения UNIX является многозадачной системой. Это значит, что несколько процессов конкурируют между собой при доступе к различным ресурсам. Для "справедливого" распределения разделяемых ресурсов, таких как память, дисковое пространство и т.п., каждому процессу
6.10. Ограничения, накладываемые на очереди сообщений
6.10. Ограничения, накладываемые на очереди сообщений Как отмечалось в разделе 3.8, на очереди сообщений часто накладываются системные oгрaничeния. В табл. 6.2 приведены значения этих oгрaничeний для двух конкретных реализаций. Первая колонка представляет собой традиционное
Программа измерения задержки очередей сообщений Posix
Программа измерения задержки очередей сообщений Posix Пpoгрaммa измерения задержки для очередей сообщений Posix приведена в листинге А.15.Листинг А. 15. Программа измерения задержки для очереди сообщений Posix//bench/lat_pxmsg.с1 #include "unpipc.h"2 #define NAME1 "lat_pxmsg1"3 #define NAME2 "lat_pxmsg2"4 #define MAXMSG 4 /*
Измерение задержки очередей сообщений System V
Измерение задержки очередей сообщений System V В листинге А.16 приведен текст программы измерения времени задержки для очередей сообщений System V.Листинг А.16. Программа измерения времени задержки для очередей сообщений System V//bench/lat_svmsg.c1 #include "unpipc.h"2 struct msgbuf p2child = { 1, { 0 } }; /* type = 1
Получение и пересылка сообщений. Создание ответных сообщений
Получение и пересылка сообщений. Создание ответных сообщений Чтобы получить новую почту, выполните команду главного меню Сервис ? Отправить/Получить ? Доставить почту либо нажмите клавишу F9. Все полученные почтовые сообщения будут помещены в папку Входящие и помечены
2.8.2. Ограничения CSV
2.8.2. Ограничения CSV Важно: тип памяти CSV не поддерживает индексацию.Выделение разделов не обеспечивается для таблиц, использующих CSV. Начиная с MySQL 5.1.12, больше не возможно создать разбитую на разделы таблицу CSV (Глюк
7.10. Создание собственных диспетчерских очередей с помощью GCD
7.10. Создание собственных диспетчерских очередей с помощью GCD Постановка задачи Требуется создавать собственные диспетчерские очереди с уникальными
Ограничения
Ограничения На языке реляционных баз данных любое условие, налагаемое на формат, диапазон значений, содержание или зависимости структуры данных, называется ограничением (constraint). Firebird предоставляет несколько способов для реализации ограничений, включая как формальные,
Ограничения
Ограничения Никакой пользователь не может удалить индекс, кроме его создателя, пользователя SYSDBA или (в POSIX) пользователя с привилегиями root.Определенные системой индексы, созданные автоматически для столбцов, определенных в ограничениях уникального, первичного или
Ограничения
Ограничения При удалении процедуры существуют ограничения.* Только пользователь SYSDBA и владелец процедуры могут ее удалять.* Процедура, находящаяся в использовании в любой другой транзакции, не может быть удалена. Это является особой проблемой в системах, где процедуры