thrd_create
提供: cppreference.com
ヘッダ <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。
[編集] ノート
スレッドが終了し、 join または detach されると、スレッド識別子は再利用される可能性があります。
型 thrd_start_t は int(*)(void*) の typedef です。 これは POSIX の void*(*)(void*) と異なります。
すべてのスレッド固有ストレージの値 (tss_create を参照) は NULL に初期化されます。
関数 func
からの戻りは、その func
の戻り値と等しい引数で thrd_exit を呼ぶのと同等です。
[編集] 参考文献
- C11 standard (ISO/IEC 9899:2011):
- 7.26.5.1 The thrd_create function (p: 383)
[編集] 関連項目
(C11) |
スレッドをデタッチします (関数) |
(C11) |
スレッドが終了するまでブロックします (関数) |
thread の C++リファレンス
|