Namespaces
Variants

thrd_create

From cppreference.net
Определено в заголовочном файле <threads.h>
int thrd_create ( thrd_t * thr, thrd_start_t func, void * arg ) ;
(начиная с C11)

Создает новый поток, выполняющий функцию func . Функция вызывается как func ( arg ) .

В случае успеха объект, на который указывает thr , устанавливается в идентификатор нового потока.

Завершение этой функции synchronizes-with началом выполнения потока.

Содержание

Параметры

thr - указатель на область памяти для размещения идентификатора нового потока
func - функция для выполнения
arg - аргумент для передачи в функцию

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

thrd_success если создание нового потока прошло успешно. В противном случае возвращает thrd_nomem при недостаточном объеме памяти или thrd_error при возникновении другой ошибки.

Примечания

Идентификаторы потоков могут быть повторно использованы для новых потоков после того, как поток завершил выполнение и был присоединен (joined) или отсоединен (detached).

Тип thrd_start_t является typedef'ом для int ( * ) ( void * ) , что отличается от POSIX-эквивалента void * ( * ) ( void * )

Все значения для локального хранилища потока (см. tss_create ) инициализируются значением NULL .

Возврат из функции func эквивалентен вызову thrd_exit с аргументом, равным возвращаемому значению функции func .

Ссылки

  • Стандарт C17 (ISO/IEC 9899:2018):
  • 7.26.5.1 Функция thrd_create (стр: 279)
  • Стандарт C11 (ISO/IEC 9899:2011):
  • 7.26.5.1 Функция thrd_create (стр: 383)

Смотрите также

отсоединяет поток
(функция)
блокирует выполнение до завершения потока
(функция)
C++ documentation для thread