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 その他のエラーが発生した場合を返します。
注記
スレッド識別子は、スレッドが終了し、結合(join)または分離(detach)された後、新しいスレッドに対して再利用される可能性があります。
型 thrd_start_t は int ( * ) ( void * ) のtypedefであり、POSIXの同等物 void * ( * ) ( void * ) とは異なります
すべてのスレッド固有ストレージ値( tss_create を参照)は NULL に初期化されます。
関数
func
からの戻りは、
func
の戻り値を引数として
thrd_exit
を呼び出すことと等価です。
参考文献
- C17規格 (ISO/IEC 9899:2018):
-
- 7.26.5.1 thrd_create関数 (p: 279)
- C11規格 (ISO/IEC 9899:2011):
-
- 7.26.5.1 thrd_create関数 (p: 383)
関連項目
|
(C11)
|
スレッドをデタッチする
(関数) |
|
(C11)
|
スレッドが終了するまでブロックする
(関数) |
|
C++ documentation
for
thread
|
|