thrd_create
|
Определено в заголовочном файле
<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)
Смотрите также
|
(C11)
|
отсоединяет поток
(функция) |
|
(C11)
|
блокирует выполнение до завершения потока
(функция) |
|
C++ documentation
для
thread
|
|