Beginthread - Beginthread

В beginthread функция создает новый поток исполнения в рамках текущего процесса. Это часть Майкрософт Виндоус библиотека времени исполнения и является объявлен в process.h заголовочный файл.

Прототип

беззнаковый длинный _beginthread(пустота(* Func)(пустота*), беззнаковый Stack_size, пустота *Arg);

Func

Выполнение потока начинается с начала функции func. Чтобы правильно завершить поток, func должен позвонить _endthread или закончить "return 0", освобождая память, выделенную библиотекой времени выполнения для поддержки потока.

Stack_size

Операционная система выделяет стек для потока, содержащий количество байтов, указанное в stack_size. Если значение stack_size равен нулю, операционная система создает стек того же размера, что и у основного потока.[1]

Arg

Операционная система передает Arg функции Func, когда начинается выполнение. Arg может быть любое 32-битное значение, приведенное к void *.

Возвращаемое значение

Возвращает дескриптор операционной системы вновь созданного потока. В случае неудачи функция возвращает -1 и устанавливает errno.

Переключатели компилятора

Чтобы скомпилировать программу с использованием нескольких потоков с помощью компилятора Microsoft C / C ++, необходимо указать переключатель / MT (или / MTd для программ отладки).

Рекомендации