Читаем Programming with POSIX® Threads полностью

Delete a thread-specific data key. This does not change the value of the thread-specific data key for any thread and does not run the key's destructor in any thread, so it should be used with great caution.

References: 5.4

Headers: 

Errors: [EINVAL]keyisinvalid.

Hint: Use only when you know all threads have NULL value.

pthread_setspecific

int pthread_setspecific (

pthread_key_t key, const void *value);

Associate a thread-specific value within the calling thread for the specified key.

References: 5.4, 7.2, 7.3.1

Headers: 

Errors: [ENOMEM]insufficient memory.

[EINVAL] key is invalid. Hint: If you set a value of NULL, the key's destructor will not be called at

thread termination.

9.3.8 Realtime scheduling

Realtime scheduling provides a predictable response time to important events within the process. Note that "predictable" does not always mean "fast," and in many cases realtime scheduling may impose overhead that results in slower execution. Realtime scheduling is also subject to synchronization problems such as priority inversion (Sections 5.5.4 and 8.1.4), although Pthreads provides optional facilities to address some of these problems.

pthread_attr_getinheritsched....................................... [_POSIX_THREAD_PRIORITY_SCHEDULING]

int pthread_attr_getinheritsched (

const pthread_attr_t *attr,

int *inheritsched);

Determine whether threads created with attr will run using the scheduling policy and parameters of the creator or those specified in the attributes object. The default inheritsched is implementation-defined.

inheritsched

PTHREAD_INHERIT_SCHED

Use creator's scheduling policy and parameters.

PTHREAD_EXPLICIT_SCHED

Use scheduling policy and parameters in attributes object.

References: 5.2.3, 5.5 Headers: 

Errors: [ENOSYS] priority scheduling is not supported.

[EINVAL] attr invalid.

pthread_attr_getschedparam......................................[_POSIX_THREAD_PRIORITY_SCHEDLLING]

int pthread_attr_getschedparam (

const pthread_attr_t *attr, struct sched_param *param);

Determine the scheduling parameters used by threads created with attr. The default param is implementation defined.

References: 5.2.3, 5.5 Headers: 

Errors: [ENOSYS] priority schedulingis not supported.

[EINVAL] attr invalid.

pfhread_attr_getschedpolicy....................................... [_POSIX_THREAD_PRIORITY_SCHEDULING]

int pthread_attr_getschedpolicy (

const pthread_attr_t *attr, int *policy);

Determine the scheduling policy used by threads created with attr. The default policy is implementation defined.

SCHED_FIFO

SCHED_RR

SCHED_OTHER

policy

Run thread until it blocks; preempt lower-priority threads when ready.

Like SCHED_FIFO, but subject to periodic timeslicing.

Implementation defined (may be SCHED_FIFO, SCHED_RR, or something else).

References: 5.2.3, 5.5 Headers: 

Errors: [ENOSYS] priority scheduling is not supported.

[EINVAL] attr invalid.

pthread_attr_getscope.................................................[_POSIX_THREAD_PRIORITY_SCHEDULLING]

int pthread_attr_getscope (

const pthread_attr_t *attr,

int *contentionscope);

Determine the contention scope used by threads created with attr. The default is implementation defined.

contentionscope

PTHREAD_SCOPE_PROCESS

Thread contends with other threads in the process for processor resources.

PTHREAD SCOPE SYSTEM

Thread contends with threads in all processes for processor resources.

References: 5.2.3, 5.5 Headers: 

Errors: [ENOSYS] priority scheduling is not supported.

[EINVAL] attr invalid. Hint: Implementation must support one or both of these, but need not

support both.

pthread_attr_setinheritsched.......................................[_POSIX_THREAD_PRIORITY_SCHEDULING ]

int pthread_attr_setinheritsched ( pthread_attr_t *attr, int inheritsched);

Specify whether threads created with attr will run using the scheduling policy and parameters of the creator or those specified in the attributes object. When you change the scheduling policy or parameters in a thread attributes object, you must change the inheritsched attribute from PTHREAD_INHERIT_SCHED to PTHREAD_ EXPLICIT_SCHED. The default is implementation-defined.

inheritsched

PTHREAD_INHERIT_SCHED

Use creator's scheduling policy and parameters.

PTHREAD_EXPLICIT_SCHED

Use scheduling policy and parameters in attributes object.

References: 5.2.3, 5.5 Headers: 

Перейти на страницу:

Похожие книги

C++: базовый курс
C++: базовый курс

В этой книге описаны все основные средства языка С++ - от элементарных понятий до супервозможностей. После рассмотрения основ программирования на C++ (переменных, операторов, инструкций управления, функций, классов и объектов) читатель освоит такие более сложные средства языка, как механизм обработки исключительных ситуаций (исключений), шаблоны, пространства имен, динамическая идентификация типов, стандартная библиотека шаблонов (STL), а также познакомится с расширенным набором ключевых слов, используемым в .NET-программировании. Автор справочника - общепризнанный авторитет в области программирования на языках C и C++, Java и C# - включил в текст своей книги и советы программистам, которые позволят повысить эффективность их работы. Книга рассчитана на широкий круг читателей, желающих изучить язык программирования С++.

Герберт Шилдт

Программирование, программы, базы данных
Delphi. Трюки и эффекты
Delphi. Трюки и эффекты

«Delphi. Трюки и эффекты», как и все издания данной серии, адресована тем, кто хочет научиться делать с помощью уже знакомых программных пакетов новые, интересные вещи. В первой части книги многое говорится о среде разработки Delphi (самых последних версий) и программировании на языке Object Pascal. Благодаря этому издание подходит и новичкам, и начинающим программистам. Вторая (основная) часть книги описывает удивительные возможности, скрытые в языке, и на примерах учит читателя программистским фокусам – от «мышек-невидимок» и «непослушных окон» до воспроизведения МРЗ и управления офисными программами Word и Excel из приложений Delphi. Купив эту книгу, вы пройдете непростой путь к вершинам программистского мастерства весело и интересно.

Валерий Викторович Борисок , Юрий Иванович Корвель , Александр Анатольевич Чиртик

Программирование, программы, базы данных