Beginthread
From Wikipedia, the free encyclopedia
In the C programming language, the beginthread function is declared in process.h header file.
This function creates a new thread of execution within the current process.
Contents |
[edit] Prototype
unsigned long _beginthread(void(* Func)(void*), unsigned Stack_size, void *Arg);
[edit] Func
Thread execution starts at the beginning of the function func
. To terminate the thread correctly, func
must call _endthread
, freeing memory allocated by the run time library to support the thread.
[edit] Stack_size
The operating system allocates a stack for the thread containing the number of bytes specified by stack_size
. If the value of stack_size
is zero, the operating system creates a stack the same size as that of the main thread.[1]
[edit] Arg
The operating system passes Arg to Func when execution begins. Arg
can be any 32-bit value cast to void*.
[edit] Return value
Returns the operating system handle of the newly created thread. If unsuccessful, the function returns -1 and sets errno.
[edit] Compiler switches
To compile a program using multiple threads with the Microsoft C/C++ Compiler, you must specify the /MT switch (or /MTd, for debug programs).