doc/ja_JP.eucJP/man/man3/pthread_create.3
Jun Kuriyama fc733ebccd Japanese version of section 3 manual pages based on 3.1-RELEASE.
This section is based on catpages contributed by Mainichi
Communications, Inc.

Translated by:	MYCOM team
Converted by:	Japanese Online Manual Project <man-jp@jp.FreeBSD.ORG>
Submitted by:	Kazuo Horikawa <k-horik@yk.rim.or.jp>
1999-12-09 16:26:08 +00:00

121 lines
3.7 KiB
Groff

.\" Copyright (c) 1996 John Birrell <jb@cimlogic.com.au>.
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by John Birrell.
.\" 4. Neither the name of the author nor the names of any co-contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.Dd April 4, 1996
.Dt PTHREAD_CREATE 3
.Os BSD 4
.Sh 名称
.Nm pthread_create
.Nd 新しいスレッドの作成
.Sh 書式
.Fd #include <pthread.h>
.Ft int
.Fn pthread_create "pthread_t *thread" "const pthread_attr_t *attr" "void *(*start_routine)(void *)" "void *arg"
.Sh 解説
.Fn pthread_create
関数を使用すると、
.Fa attr
で指定された属性でプロセスに新しいスレッドを作成できます。
.Fa attr
NULL
である場合は、デフォルトの属性が使用されます。
.Fa attr
で指定した属性を後で変更しても、スレッドの属性は変化しません。
問題なく終了すると、
.Fn pthread_create
は、作成したスレッドの
ID
.Fa thread
で指定された場所に保存します。
.Pp
スレッドは、
.Fa arg
を唯一の引数として
.Fa start_routine
を実行して作成されます。
.Fa start_routine
が復帰すると、
.Fa start_routine
の戻り値を終了ステータスとして使用し、
.Fn pthread_exit
を暗黙のうちに呼び出したような効果があります。
.Fn main
を呼び出したスレッドは、これとは異なることに注意してください。
.Fn main
から復帰すると、
.Fn main
の戻り値を終了ステータスとして使用し、
.Fn exit
を暗黙のうちに呼び出したような効果があります。
.Pp
新しいスレッドの信号状態は、以下のように初期化されます。
.Bl -bullet -offset indent
.It
シグナルマスクは、作成を行なうスレッドから継承されます。
.It
新しいスレッド用に保留しているシグナルのセットは空です。
.El
.Sh 戻り値
問題がない場合、
.Fn pthread_create
関数は
0
を戻します。問題がある場合は、そのエラーを示すエラー番号を戻します。
.Sh エラー
.Fn pthread_create
は、以下のような場合にエラーとなります。
.Bl -tag -width Er
.It Bq Er EAGAIN
別のスレッドの作成に必要なリソースがシステムに不足している場合、
または
1
つのプロセスの総スレッド数についてシステムに課された制限
[PTHREAD_THREADS_MAX]
を越えた場合
.It Bq Er EINVAL
.Fa attr
で指定された値が正しくない場合
.El
.Pp
.Sh 関連項目
.Xr fork 2 ,
.Xr pthread_cleanup_pop 3 ,
.Xr pthread_cleanup_push 3 ,
.Xr pthread_exit 3 ,
.Xr pthread_join 3
.Sh 規格
.Fn pthread_create
は、
ISO/IEC 9945-1 ANSI/IEEE
.Pq Dq Tn POSIX
Std 1003.1 Second Edition 1996-07-12
に準拠しています。