tail head cat sleep
QR code linking to this page

manページ  — PTHREAD_CREATE

名称

pthread_create – 新しいスレッドの作成

内容

ライブラリ

Reentrant C\~Library (libc_r, -lc_r)

書式

#include <pthread.h>

int
pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine)(void *), void *arg);

解説

pthread_create() 関数は、プロセス内に attr によって指定された属性をもつ新しいスレッドを作成するために使用されます。 attr NULL である場合には、デフォルトの属性が使用されます。 attr によって指定された属性が後から更新された場合には、 スレッドの属性は変化しません。 問題なく完了すると、 pthread_create()thread によって指定された場所に作成されたスレッドの ID を格納します。

スレッドは、 arg を唯一の引数として start_routine を実行することで作成されます。 start_routine が戻った場合には、 start_routine の戻り値を終了ステータスとして使用し、暗黙のうちに pthread_exit() を呼び出したような効果があります。 main() を最初に実行したスレッドは、これとは異なることに注意してください。 そのスレッドが main() から戻った時には、 main() の戻り値を終了ステータスとして使用し、暗黙のうちに exit() を呼び出したような効果があります。

新しいスレッドのシグナルの状態は、以下のように初期化されます。

戻り値

問題がない場合は、 pthread_create() 関数は 0 を返します。 問題がある場合は、そのエラーを示すためにエラー番号が返されます。

エラー

pthread_create() は以下の場合に失敗します。
[EAGAIN]
  別のスレッドを作成するために必要なリソースがシステムに不足しています。 または、1 つのプロセス内の総スレッド数についてのシステムの 制限 [PTHREAD_THREADS_MAX] を超過しました。
[EINVAL]
  attr によって指定された値が、有効ではありません。

関連項目

fork(2), pthread_cleanup_pop(3), pthread_cleanup_push(3), pthread_exit(3), pthread_join(3)

規格

pthread_create()IEEE Std 1003.1-96 ("POSIX.1") に適合しています。

PTHREAD_CREATE (3) April 4, 1996

tail head cat sleep
QR code linking to this page


このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.