Spec-Zone.ru › C

thrd_create

Определено в заголовке <threads.h>
int thrd_create( thrd_t *thr, thrd_start_t func, void *arg );
(с C11)

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

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

Завершение этой функции синхронизируется с началом работы нити.

Параметры

thr - указатель на место в памяти для хранения идентификатора новой нити
func - функция для выполнения
arg - аргумент, передаваемый функции

Значение возврата

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

Примечания

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

Тип thrd_start_t — это псевдоним типа 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)

См. также

thrd_detach
(C11)
отделяет нить
(функция)
thrd_join
(C11)
блокируется до завершения нити
(функция)
Документация C++ для thread

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/c/thread/thrd_create

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API