Установить объем памяти для начального выделения LAZY-стека
#include <pthread.h>int pthread_attr_setstackprealloc( const pthread_attr_t *attr,size_t stacksize );
pthread_attr_t
, определяющую атрибуты создаваемого потока. Подробнее см. pthread_attr_init().libc
Функция pthread_attr_setstackprealloc() устанавливает размер преаллоцированной памяти для стека, что соответствует логике флага MAP_LAZY
.
По умолчанию система аллоцирует sysconf( _SC_PAGESIZE
) байт физической памяти для начального размера стека. Данная функция позволяет изменить это значение. С точки зрения приложения разница не будет заметна, но это позволяет менеджеру памяти более эффективно использовать ресурсы памяти и MMU (Memory Management Unit), например, использовать страницы памяти большего размера. Целесообразно повышать начальный размер стека в том случае, если заранее известно, что стандартный размер недостаточен.
ЗОСРВ «Нейтрино»
pthread_attr_getstackprealloc(), pthread_attr_getstacksize(), pthread_attr_init(), pthread_create()
Предыдущий раздел: Описание API системной библиотеки