手続きポインターからスレッドを作成する。
call "CBL_THREAD_CREATE_P" using by value entry-point by reference thread-param by value param-size by value flags by value priority by value stack-size by reference thread-id
呼び出しプロトタイプ使用時 ( 説明の読み方) | PIC (32 ビット システム) | |
---|---|---|
entry-point | cblt-ppointer | usage procedure-pointer. |
thread-param | pic x(n) null or space terminated | Any data item. |
param-size | cblt-os-size | pic x(4) comp-5. |
flags | cblt-os-flags | pic x(4) comp-5. |
priority | cblt-sx4-comp5 | pic s9(9) comp-5 |
stack-size | cblt-os-size | pic x(4) comp-5. |
thread-id | cblt-pointer | usage pointer. |
entry-point | 実行するプログラムの適切な入口点に設定された手続きポインター | ||||||||||||||||||||||||||||
thread-param | 新しいスレッドに渡されるパラメーター | ||||||||||||||||||||||||||||
param-size | 次のうちの1つを設定する。
|
||||||||||||||||||||||||||||
flags | 次のようにビットを設定できる。
|
||||||||||||||||||||||||||||
priority | 優先順位を設定する。通常、優先順位は-100から+100までの値で現行のスレッド優先順位と相対的な値。-1および+1は、スレッドに 呼び出し側よりも低い/高い優先順位を与える最小の減少/増加を示す(呼び出し側にすでに最低/最高優先順位が設定されてない場合)。 負または正の値により実際に設定できる優先順位よりも低い/高い優先順位が設定された場合、可能な範囲内で最小/最大の値が使用される。 flagsのビット1に1が設定された場合、優先順位は絶対値0から100までの値を取る。 |
||||||||||||||||||||||||||||
stack-size | ランタイム システムに、スタックのサイズを新しいスレッドに通知させる。0を設定すると、省略値が使用される。パラメーターが無効な ことがわかると、ランタイム システムはそれを無視するか無効な値が設定されたことを示すエラーを返す。 |
thread-id | スレッド識別子 |
return-code | 成功したか否かを示す値。詳細は、 スレッド制御ルーチンのRETURN-CODE値を参照のこと。 |
指定された入口点は、どの言語でも実行できる。
呼び出しが成功して新しいスレッドが作成された場合、そのスレッドの識別子はthread-idに格納され、RETURN-CODEは0に設定される。これは、スレッドが作成時に切り離された場合でも行われる。ただし、この場合、呼び出し側は他の呼び出しでスレッドIDが使用されるまでは新しいスレッドがそのまま存在するように気を付けること。
呼び出しが失敗すると、thread-idはナルに、エラー番号はRETURN-CODEに設定される。