スレッド指定データ操作ルーチン

プログラム内のスレッド局所記憶節を使用するのが、スレッド局所データを操作する最も簡単な方法です。これにはスレッド局所記憶機能についての知識が必要となります。

スレッド指定データの処理方法を制御するライブラリ ルーチンも提供されています。それらのルーチンを使用すると、プログラムで次の処理を実行できます。

動的ヒープからのスレッド局所データの割り当て

CBL_ALLOC_MEM またはモジュール型の CBL_ALLOC_THREAD_MEM を使用して、動的ヒープからスレッド局所データを割り当てることができます。この割り当て形式は、サイズが異なる複数のメモリ ブロックを割り当てて、スレッドやプログラムに関連付ける場合に便利です。

CBL_ALLOC_MEM では、入力パラメーターの設定に従って、割り当てられたヒープ データをスレッドおよび呼び出し元プログラムに関連付けることができます。CBL_ALLOC_THREAD_MEM の場合は、割り当てられたヒープ データが常にスレッド (およびオプションで呼び出し元プログラム) に関連付けられます。

これらのルーチンによって割り当てられたメモリは、スレッドが終了すると自動的に解放されます。

これらの呼び出しによって返されたスレッド局所記憶領域へのポインターは、スレッド局所記憶領域を割り当てたプログラムの以降の呼び出しで値を取得できるように、スレッド局所記憶領域で定義されたポインターに保存してください。返されたポインターを作業記憶域で定義されたポインターに保存すると、その値を以降に使用する際にスレッド局所ヒープ領域がスレッド間で共有され、適切なプログラミング方法とはなりません。

初期化されたスレッド記憶領域ハンドルからのスレッド局所データへのアクセス

初期化されたスレッド記憶領域ハンドルからスレッド局所データにアクセスするためのルーチンが用意されています。このハンドルは、CBL_TSTORE_CREATE ルーチンによって返されます。メモリは、特定のハンドルを使用して CBL_TSTORE_GET によって返されます。メモリは固定サイズで、そのスレッド内の CBL_TSTORE_GET のすべての呼び出しで同じです。基本的に、これらのルーチンは初期化されたハンドルごとに異なるスレッド局所記憶領域を提供します。