PTHREAD_ONCE

Section: C Library Functions (3)
Updated: LinuxThreads
Index JM Home Page

 

名前

pthread_once - 1 回きりの初期化

 

書式

#include <pthread.h>

pthread_once_t once_control = PTHREAD_ONCE_INIT;

int pthread_once(pthread_once_t *once_control, void (*init_routine) (void));

 

説明

pthread_once の目的は、 初期化コードが高々 1 回しか実行されないようにすることである。 引数 once_control は静的変数または外部変数を指し示し、静的に PTHREAD_ONCE_INIT という値に初期化されていなければならない。

最初に引数 once_control とともに pthread_once が呼び出されたときには、 init_routine を引数なしで呼び出し、 変数 once_control の値を変更して初期化が行なわれたことを記録する。 その後同じ引数 once_control とともに pthread_once が呼び出されたときは何もしない。

 

返り値

pthread_once は常に 0 を返す。

 

エラー

なし。

 

著者

Xavier Leroy <Xavier.Leroy@inria.fr>

[訳注] glibc-linuxthreads の最新のドキュメントは Texinfo 形式で提供されている。 以下は glibc-linuxthreads-2.3.1 の Texinfo ファイルからの引用で、 「説明」への追記にあたるものである。

スレッドが init_routine を実行中に取り消しされた場合、 once_control はリセットされ、将来 pthread_once が呼び出されたとき初期化ルーチンは再び実行される。

1 つまたは複数のスレッドが pthread_once の初期化ルーチンを実行中に プロセスが fork したときには、 子プロセスではそれぞれの once_control 変数はリセットされたように見え、 子プロセスで pthread_once が呼び出されたとき初期化ルーチンは実行される。


関連キーワード

初期化   変数   ルーチン   Xavier   Leroy   linuxthreads   Texinfo   スレッド   リセット   pthread   once   目的   コード   外部   最初   記録   inria   訳注   最新   ドキュメント   提供   引用   取り消し   将来   複数

Linux マニュアル 一覧

関連するコマンド・関数

pthread_condattr_destroy.3   pthread_condattr_init.3   pthread_atfork.3   drand48.3   erand48.3   jrand48.3
 

Index

名前
書式
説明
返り値
エラー
著者

This document was created by man2html, using the manual pages.
Time: 04:38:47 GMT, October 11, 2026