XL Fortran for AIX V8.1.1

ランゲージ・リファレンス

f_pthread_create

この関数は、現行プロセスに新しいスレッドを作成するために使用します。新しく作成されるスレッドは、スレッド属性オブジェクト attr が提供されていれば、その中で定義されている属性を想定します。そうでない場合は、新しいスレッドはシステム・デフォルトの属性を持ちます。新しいスレッドは、サブルーチン ent から実行を開始します。それには 1 つの仮引き数を指定することが必要です。システムは入り口サブルーチン ent に引き数 arg をその実引き数として渡します。引き数 flag は、システムに引き数 arg の特性を知らせるために使われます。実行が入り口サブルーチン ent から戻ると、その新しいスレッドは自動的に終了します。

サブルーチン ent を直接呼び出す場合明示インターフェースが必要となるようにこのサブルーチンを宣言した場合、それが引き数としてこの関数に渡される時点においても明示インターフェースが必要となります。

引き数 arg は汎用引き数であり、任意のタイプやランクにすることができます。実引き数 arg は変数でなければならず、代入ステートメントの左に代入できなければなりません。ベクトル添え字を持つ配列セクションを引き数 arg に渡す場合、結果は予測不能です。

実引き数 arg が配列セクションである場合、サブルーチン ent の対応する仮引き数は想定形状配列でなければなりません。そうでない場合、結果は予測できません。

実引き数 arg が、配列または配列セクションを指し示すポインター属性を持っている場合、サブルーチン ent 内の対応する仮引き数は、ポインター属性を持っているか、または想定形状配列でなければなりません。そうでない場合、結果は予測できません。

引き数 flag は、引き数 arg の特性を正確にシステムに伝えるために使用しなければなりません。flag には、以下の定数のいずれか、あるいは以下の定数を組み合わせたものを値として指定できます。

FLAG_CHARACTER:
入り口サブルーチン ent がタイプ CHARACTER の引き数を、方法や形式に関係なく予期している場合は、このフラグ値を組み込んでそのことを示さなければなりません。ただし、サブルーチンが予期しているのが、タイプ CHARACTER の引き数を指し示した Fortran 90 ポインターであれば、FLAG_DEFAULT 値を代わりに組み込む必要があります。

FLAG_ASSUMED_SHAPE:
入り口サブルーチン ent が仮引き数を持ち、それが任意のランクの、想定形状配列である場合は、このフラグ値を組み込んでそのことを示さなければなりません。

FLAG_DEFAULT:
上記以外の場合には、このフラグ値が必要です。

戻りコード

この関数への呼び出しが正常に行われると、新しく作成されたスレッドの ID が引き数 thread によって戻されます。そうでない場合には、以下のいずれかのエラー・コードを戻します。

EAGAIN
新しいスレッドを作成するのに十分なリソースがシステムにありません。

EINVAL
引き数 threadattr、または flag が無効です。

ENOMEM
新しいスレッドを作成するのに十分なメモリーがシステムにありません。

integer function f_pthread_create(thread, attr, flag, ent, arg)
    type(f_pthread_t), intent(out):: thread
    type(f_pthread_attr_t), intent(in), optional:: attr
    integer(4), intent(in):: flag
    external ent
end function


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]