Beginthread
The beginthread function creates a new thread of execution within the current process. It is part of the Microsoft Windows runtime library and is declared in the process.h header file.
Prototype
unsigned long _beginthread(void(* Func)(void*), unsigned Stack_size, void *Arg);
Func
Thread execution starts at the beginning of the function `func`. To terminate the thread correctly, `func` must call `_endthread` or end with "return 0", freeing memory allocated by the run time library to support the thread.
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]
Arg
The operating system passes `Arg` to `Func` when execution begins. `Arg` can be any 32-bit value cast to void*.
Return value
Returns the operating system handle of the newly created thread. If unsuccessful, the function returns −1 and sets errno.
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).
References
This article "Beginthread" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:Beginthread. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.
