Начать тему
Функция Beginthread создает новый поток выполнения внутри текущего процесса. Он является частью Microsoft Windows библиотеки времени выполнения и объявляется в файлеprocess.h заголовочном .
Прототип
[ редактировать ]unsigned long _beginthread(void(* Func)(void*), unsigned Stack_size, void *Arg);
Функ
[ редактировать ]Выполнение потока начинается в начале функции func
. Чтобы правильно завершить поток, func
должен позвонить _endthread
или закончить возвратом 0, освободив память, выделенную библиотекой времени выполнения для поддержки потока.
Stack_size
[ редактировать ]Операционная система выделяет для потока стек, содержащий количество байтов, указанное параметром stack_size
. Если значение stack_size
равно нулю, операционная система создает стек того же размера, что и основной поток. [1]
Арг
[ редактировать ]Операционная система передает Arg в Func, когда начинается выполнение. Arg
может быть любым 32-битным значением, приведенным к void*.
Возвращаемое значение
[ редактировать ]Возвращает дескриптор операционной системы вновь созданного потока. В случае неудачи функция возвращает −1 и устанавливает errno .
Переключатели компилятора
[ редактировать ]Чтобы скомпилировать программу с использованием нескольких потоков с помощью компилятора Microsoft C/C++, необходимо указать /MT переключатель (или /MTd для программ отладки).