call "CBL_THREAD_CREATE" using by reference entry-name by reference thread-param by value param-size by value flags by value priority by value stack-size by reference thread-id
呼び出しプロトタイプ使用時 (「説明の読み方」を参照) | PIC | |
---|---|---|
entry-name | pic x(n) 空白終了または null 終了 | pic x(n) 空白終了または null 終了 |
thread-param | pic x(n) 空白終了または null 終了 | 任意のデータ項目 |
param-size | cblt-os-size | pic x(4) comp-5
または pic x(8) comp-5 (64 ビットのネイティブ プログラムのみ) |
flags | cblt-os-flags | pic x(4) comp-5
または pic x(8) comp-5 (64 ビットのネイティブ プログラムのみ) |
priority | cblt-sx4-comp5 | pic s9(9) comp-5 |
stack-size | cblt-os-size | pic x(4) comp-5
または pic x(8) comp-5 (64 ビットのネイティブ プログラムのみ) |
thread-id | cblt-pointer | USAGE POINTER |
0 | データ値をコピーすることなく、thread-param のアドレスのみが新しいスレッドのエントリ ポイントにパラメーターとして渡されます |
>0 | thread-param の値が param-size の長さだけコピーされ、このコピー領域のアドレスが新しいスレッドに渡されます。CBL_THREAD_CREATE の呼び出しの直後に作成元のスレッドによって thread-param が変更または割り当て解除された場合でも、作成されたスレッドに対しては thread-param の値はそのままになります |
0 | スレッドが終了したら直ちにスレッドをデタッチします |
1 | すぐにはスレッドをデタッチしません。スレッドが終了していても、そのリソースはスレッドがデタッチされるまで解放されません |
0 | スレッドの優先度は相対値 (-100 から +100) です |
1 | スレッドの優先度は絶対値 (0 から 100) です |
0 | スレッドが終了した際にこのスレッドによってロックされているモニターまたはミューテックスがあると、ランタイム システム エラーが発生します |
1 | スレッドが終了した際にモニターまたはミューテックスがロックされていても、エラーは発生しません |
0 | 作成したスレッドをアクティブにする |
1 | 作成したスレッドをサスペンド状態にする
制約事項: これは .NET 環境では非推奨です。
|
0 | マルチスレッド アパートメント モデル (MTA) |
1 | シングルスレッド アパートメント モデル (STA) |
説明:
指定したエントリ ポイントは任意の言語で実装できます。
呼び出しが成功し、新しいスレッドが作成されると、そのスレッド識別子が thread-id に格納され、RETURN-CODE が 0 に設定されます。これは、スレッドが作成されてデタッチされる場合にも当てはまります。ただし、この場合、呼び出し元は、他の呼び出しで thread-id を使用する前に新しいスレッドがまだ存在することを必ず確認する必要があります。
呼び出しが失敗した場合、thread-id は NULL に設定され、エラー番号が RETURN-CODE に設定されます。