THREAD キーワードは、作成される ILE RPG モジュールが、マルチスレッド化された環境内で安全に実行されるよう意図されたものであることを示します。 スレッド・セーフティーに関する主な課題の 1 つとして、静的記憶域の処理があります。 複数のスレッドが同じ記憶位置に同時にアクセスすると、予期せぬ結果が生じることがあります。
THREAD キーワードを指定すると、モジュールの静的記憶域に関して、そのモジュールのスレッド・セーフを確保するのに役立ちます。 スレッドごとに別々の静的記憶域を設けるか、一度に 1 つのスレッドのみがモジュールにアクセスできるように制限するか、選択することができます。 同じプログラムまたはサービス・プログラム内で、これら 2 つのタイプのモジュールを組み合わせて使用してもかまいません。 ただし、マルチスレッド環境で実行するすべてのモジュールで、必ず、THREAD キーワードを指定する必要があります。
自動変数については、特に考慮する必要はありません。 自動変数は、プロシージャーの呼び出しごとに作成されるので、本質的にスレッド・セーフです。 プロシージャーの自動記憶域は、それぞれのスレッドに固有の記憶域内に割り振られます。