THREAD(*SERIALIZE) キーワードは、作成された ILE RPG モジュール が、マルチスレッド化された環境内で安全に実行できることを示します。 モジュール内のプロシージャーへのアクセスは、順番に行われます。 モジュール内のコードはすべて、マルチスレッド化された環境内で 呼び出されると、そのコードを 1 度に使用できるスレッドは 1 つだけです。
通常、1 つのアプリケーションを複数のスレッド内で 実行すると、そのアプリケーションのパフォーマンスが向上します。 ILE RPG の場合には、通常これはあてはまりません。実際、マルチスレッド化された アプリケーションのパフォーマンスは、モジュール・レベルで プロシージャーの逐次化を行うことによりスレッドの安全性を確保している 場合、むしろ単一スレッド・バージョンのパフォーマンスより悪くなる可能性があります。
マルチスレッド化された環境内で ILE RPG プロシージャーを 実行することは、そのアプリケーションにおいて他の必要性 (たとえば、Domino 出口プログラムを書く場合、または Java から短期実行 RPG プロシージ ャーを呼び出す場合など) がある場合に限るようにお勧めします。 Java から呼び出された長期実行 RPG プログラムの場合、RPG プログラム の別個プロセスを使用するようにお勧めします。
マルチスレッド化された環境内で許可またはサポートされて いないシステム機能のリストについては、以下の URL の「プログラミング」という トピックの中にある「マルチスレッド化されたアプリケーション」の資料 を参照してください。
http://www.as400.ibm.com/infocenter/
スレッド・セーフ・プログラム内では次の標識は使用できません。
THREAD(*SERIALIZE) キーワードを使用するときは、次の点に注意してください。
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.