Чтение онлайн

на главную - закладки

Жанры

Параллельное и распределенное программирование на С++
Шрифт:

Во-вторых, на входе в объект тип отмены можно установить явным образом (равным либо «отложенному», либо «асинхронному» значению). Но, как и для состояния отмены, на выходе из объекта тип отмены должен быть всегда восстановлен до значения, которое он имел на входе в этот объект.

Наконец, из потока, который позволяет асинхронную от м ену, м ожно вызывать только безопасные (с точки зрения от м ены) функции.

Будущие направления

Отсутствуют.

Смотри также

pthread_cancel, то м Base Definitions

стандарта IEEE Std 1003.1-2001, <pthread.h>.

Последовательность внесения изменений

Функции впервые реализованы в выпуске Issue 5. Включены для согласования с расширение м POSIX Threads Extension.

Issue 6

Функции pthread_setcancelstate , pthread_setcanceltype и pthread_ testcancel от м ечены как часть опции Threads.

pthread_setschedprio

Имя

pthread_setschedprio — функция д ина м ического д оступа к пара м етра м планирования потока (REALTIME THREADS).

Синопсис

THRTPS #include <pthread.h>

int pthread_setschedprio(pthread_t thread, int prio);

Описание

Функция pthread_setschedprio используется д ля установки приоритета планирования равны м значению, заданно м у пара м етро м prio, для потока, идентификационный но м ер (ID) которого задан пара м етро м thread.

В случае неудачного завершения функции pthread_setschedprio приоритет планирования заданного потока останется без из м енения.

Возвращаемое значение

При успешно м завершении функция pthread_setschedprio возвра щ ает нулевое значение; в противно м случае возвра щ ается код ошибки, обозначаю щ ий ее характер.

Ошибки

Функция pthread_setschedprio м ожет завершиться неудачно, если:

[EINVAL] значение пара м етра prio не действительно для стратегии планирования заданного потока;

[ENOTSUP] была сделана попытка установить приоритет равны м значению, которое не поддерживается;

[EPERM] инициатор вызова не и м еет соответствую щ его разрешения на установку пара м етров стратегии планирования за д анного потока;

[EPERM] реализация не позволяет приложению м

о д ифицировать приоритет, устанавливая его равны м за д анно м у значению;

[ESRCH] значение, за д анное пара м етро м thread, не относится к су щ ествую щ е м у потоку.

Функция pthread_setschedprio не возвра щ ает ко д ошибки [EINTR].

Примеры

Отсутствуют.

Замечания по использованию

Отсутствуют.

Логическое обоснование

Функция pthread_setschedprio обеспечивает для приложения воз м ожность вре м енно г о увеличения приоритета с последую щ и м ero понижение м без нежелательного побочного эффекта, выражае м ого в установке други м и потока м и такого же приоритета. Это нужно, если приложение должно реализовать такие собственные стратегии для ограничения инверсии приоритетов, как наследование приоритетов или использование предельных значений приоритетов. Эта воз м ожность особенно важна, если реализация не по д держивает опции Thread Priority Protection или Thread Priority Inheritance, но даже в случае их по д держки эту воз м ожность необходи м о использовать, если приложение обязано привязывать наследование приоритетов к использованию таких ресурсов, как се м афоры.

Нес м отря на то что, воз м ожно, предпочтительнее было бы решить эту пробле м у, м одифицируя спецификацию функции pthread_setschedparam, было слишко м поздно вносить такое из м енение, поскольку уже су щ ествовали реализации, которые пришлось бы в это м случае из м енять. Поэто м у даннал функция и была введена.

Будущие направления

Отсутствуют.

Смотри также

pthread_getschedparam, то м Base Definitions стандарта IEEE Std 1003.1-2001, <pthread. h>.

Последовательность внесения изменений

Функция впервые реализована в выпуске Issue 6. Включена в качестве реакции на интерпретацию IEEE PASC Interpretation 1003.1 #96.

СПИСОК ЛИТЕРАТУРЫ

1. Audi, Robert. Action, Intention, andReason. Ithaca, N. Y.: Cornell University Press, 1993.

Поделиться:
Популярные книги

Мастер...

Чащин Валерий
1. Мастер
Фантастика:
героическая фантастика
попаданцы
аниме
6.50
рейтинг книги
Мастер...

Жених из гроба

Сотис Майя
1. Гробокопательница
Фантастика:
юмористическое фэнтези
сказочная фантастика
фэнтези
5.00
рейтинг книги
Жених из гроба

Ищу жену с прицепом

Рам Янка
2. Спасатели
Любовные романы:
современные любовные романы
6.25
рейтинг книги
Ищу жену с прицепом

Гримуар тёмного лорда I

Грехов Тимофей
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Гримуар тёмного лорда I

Заклятие предков

Прозоров Александр Дмитриевич
3. Ведун
Фантастика:
фэнтези
альтернативная история
8.49
рейтинг книги
Заклятие предков

Крепость над бездной

Лисина Александра
4. Гибрид
Фантастика:
боевая фантастика
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Крепость над бездной

Рота Его Величества

Дроздов Анатолий Федорович
Новые герои
Фантастика:
боевая фантастика
8.55
рейтинг книги
Рота Его Величества

Экспансия: Сотрудничество. Том 5

Белов Артем
5. Планетарный десант
Фантастика:
боевая фантастика
аниме
5.00
рейтинг книги
Экспансия: Сотрудничество. Том 5

Отверженный III: Вызов

Опсокополос Алексис
3. Отверженный
Фантастика:
фэнтези
альтернативная история
7.73
рейтинг книги
Отверженный III: Вызов

Князь Серединного мира

Земляной Андрей Борисович
4. Страж
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Князь Серединного мира

Возвышение Меркурия. Книга 8

Кронос Александр
8. Меркурий
Фантастика:
героическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия. Книга 8

Эволюционер из трущоб. Том 5

Панарин Антон
5. Эволюционер из трущоб
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Эволюционер из трущоб. Том 5

Локки 7. Потомок бога

Решетов Евгений Валерьевич
7. Локки
Фантастика:
аниме
эпическая фантастика
фэнтези
5.00
рейтинг книги
Локки 7. Потомок бога

Черный Маг Императора 4

Герда Александр
4. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Черный Маг Императора 4