Параллельное и распределенное программирование на С++
Шрифт:
Отсутствует.
Будущие направления
Отсутствуют.
Смотри также
pthread_rwlock_destroy,pthread_rwlockattr_destroy, pthread_rwlockattr_init , то м Base Definitions стан д арта IEEE Std 1003.1-2001, <pthread.h>.
Последовательность внесения изменений
Функции впервые реализованы в выпуске Issue 5.
Issue 6
Для согласования со стан д арто м IEEE Std 1003.1j-2000 были внесены сле д ую щ ие из м енения.
• В разделе
• В разделе «Описание» отмечено, что дополнительные атрибуты определяются конкретной реализацией.
• Был отредактирован раздел «Смотри также».
В целях согласования со стандартом ISO/IEC 9899: 1999 в прототип функции pthread_rwlockattr_getpshared было добавлено ключевое слово restrict.
pthread_self
Имя
pthread_self — функция получения и д ентификационного но м ера (ID) вызывающего потока.
Синопсис
THR #include <pthread.h>
pthread_t pthread_self {void);
Описание
Функция pthread_self возвра щ ает и д ентификационный но м ер (ID) вызываю щ его потока.
Возвращаемое значение
См. раз д ел «Описание».
Ошибки
Ко д ы ошибок не опре д елены.
Функция pthread_self не возвра щ ает ко д ошибки [EINTR].
Примеры
Отсутствуют.
Замечания по использованию
Отсутствуют.
Логическое обоснование
Функция pthread_self обеспечивает воз м ожность, аналогичную функции getpid д ля процессов, поэто м у и логическое обоснование у нее такое же: при вызове функции соз д ания потока и д ентификационный но м ер (ID) соз д анно м у потоку авто м атически не пре д оставляется.
Будущие направления
Отсутствуют.
Смотри также
pthread_create , pthread_equal , то м Base Definitions стандарта IEEE Std 1003.1-2001, <pthread.h>.
Последовательность внесения изменений
Функция впервые реализована в выпуске Issue 5. Включена для согласования с расширение м POSIX Threads Extension.
Issue 6
Функция pthread_self от м ечена как часть опции Threads.
pthread_setcancelstate, pthread_setcanceltype, pthread_testcancel
Имя
pthread_setcancelstate, pthread_setcanceltype, pthread_testcancel— функции установки состояния от м ены (аннулирования) потока.
Синопсис
THR #include <pthread.h>
int pthread_setcancelstate(int state, int *oldstate);
int pthread_setcanceltype(int type, int *oldtype);
void pthread_testcancel(void);
Описание
Функция pthread_setcancelstate
о д новре м енно устанавливает состояние от м ены вызываю щ его потока равны м значению, за д анно м у пара м етро м state, и возвра щ ает значение предыдущего состояния от м ены в пере м енной, а д ресуе м ой пара м етро м oldstate. Допусти м ы м и значения м и д ля пара м етра state являются PTHREAD_CANCEL_ENABLE и PTHREAD_CANCEL_DISABLE.Функция pthread_setcanceltype о д новре м енно устанавливает тип от м ены вызываю щ его потока равны м значению, за д анно м у пара м етро м type, и возвра щ ает значение предыдущего типа от м ены в пере м енной, а д ресуе м ой пара м етро м oldtype. Допусти м ы м и значения м и д ля пара м етра type являются PTHREAD_CANCEL_ DEFERRED и PTHREAD_CANCEL_ASYNCHRONOUS.
Состояние и тип отмены любых создаваемых потоков, включал поток, в которо м впервые вызывается функция main, устанавливаются равны м и значения м PTHREAD_CANCEL_ENABLE и PTHREAD_CANCEL_DEFERRED соответственно.
Функция pthread_testcancel пре д назначена д ля соз д ания точки от м ены в вызываю щ е м потоке. Функция pthread_testcancel не и м еет эффекта, если от м ена потока запре щ ена.
Возвращаемые значения
При успешно м завершении функции pthread_setcancelstate и pthread_ setcanceltype возвра щ ают нулевое значение; в противно м случае возвра щ ается ко д ошибки, обозначаю щ ий ее характер.
Ошибки
Функция pthread_setcancelstate м ожет завершиться неу д ачно, если: