pthread_attr_setstackprealloc()

Установить объем памяти для начального выделения LAZY-стека

Прототип:

#include <pthread.h>
int pthread_attr_setstackprealloc( const pthread_attr_t *attr,
size_t stacksize );

Аргументы:

attr
Указатель на структуру pthread_attr_t, определяющую атрибуты создаваемого потока. Подробнее см. pthread_attr_init().
stacksize
Размер преаллоцированного стека для нового потока.

Библиотека:

libc

Описание:

Функция pthread_attr_setstackprealloc() устанавливает размер преаллоцированной памяти для стека, что соответствует логике флага MAP_LAZY.

По умолчанию система аллоцирует sysconf( _SC_PAGESIZE ) байт физической памяти для начального размера стека. Данная функция позволяет изменить это значение. С точки зрения приложения разница не будет заметна, но это позволяет менеджеру памяти более эффективно использовать ресурсы памяти и MMU (Memory Management Unit), например, использовать страницы памяти большего размера. Целесообразно повышать начальный размер стека в том случае, если заранее известно, что стандартный размер недостаточен.

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

EOK
Успешное завершение.

Классификация:

ЗОСРВ «Нейтрино»

Безопасность использования
Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Да
В потоке
Да

Тематические ссылки:

pthread_attr_getstackprealloc(), pthread_attr_getstacksize(), pthread_attr_init(), pthread_create()




Предыдущий раздел: Описание API системной библиотеки