名前空間
変種
操作

thrd_create

提供: cppreference.com
< c‎ | thread
ヘッダ <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_tint(*)(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)

[編集] 関連項目

スレッドをデタッチします
(関数) [edit]
スレッドが終了するまでブロックします
(関数) [edit]