thr_min_stack(3c) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

thr_min_stack(3c)

Standard C Library Functions                                 thr_min_stack(3C)



NAME
       thr_min_stack - return the minimum-allowable size for a thread's stack

SYNOPSIS
       #include <thread.h>

       size_t thr_min_stack(void);

DESCRIPTION
       When  a  thread  is  created  with a user-supplied stack, the user must
       reserve enough space to run this thread. In a dynamically linked execu‐
       tion  environment,  it  is  very  hard  to  know what the minimum stack
       requirements are for a thread. The function thr_min_stack() returns the
       amount  of space needed to execute a null thread. This is a thread that
       was created to execute a null procedure. A thread that  does  something
       useful  should have a stack size that is thr_min_stack() + <some incre‐
       ment>.


       Most users should not be creating threads  with  user-supplied  stacks.
       This  functionality  was  provided  to support applications that wanted
       complete control over their execution environment.


       Typically, users should let the threads library  manage  stack  alloca‐
       tion. The threads library provides default stacks which should meet the
       requirements of any created thread.


       thr_min_stack() will return the unsigned int  THR_MIN_STACK,  which  is
       the minimum-allowable size for a thread's stack.


       In  this  implementation  the default size for a user-thread's stack is
       one mega-byte. If the second argument to thr_create(3C) is  NULL,  then
       the  default stack size for the newly-created thread will be used. Oth‐
       erwise, you may specify a stack-size that is  at  least  THR_MIN_STACK,
       yet less than the size of your machine's virtual memory.


       It is recommended that the default stack size be used.


       To  determine the smallest-allowable size for a thread's stack, execute
       the following:



         /* cc thisfile.c */
         #include <thread.h>
         #include <stdio.h>
         main()  {
                 printf("thr_min_stack() returns %u\n",thr_min_stack());
         }


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE  TYPEAT‐
       TRIBUTE VALUE _ MT-LevelMT-Safe


SEE ALSO
       attributes(7), standards(7)



Oracle Solaris 11.4               15 May 2014                thr_min_stack(3C)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3