2.9 スレッド制御
マルチスレッド構成のプロセスでUAPに異常が発生した場合,同期シグナルが発生して処理が中断されます。この場合,プロセス内の障害の発生したスレッドの処理だけを終了させて,ほかのスレッドの処理を続行させると,処理を続行させたスレッドがハングアップしたり異常終了したりするおそれがあります。そのため,通常は,UAPに異常が発生した場合は,プロセス内の全スレッドを終了させます。
しかし,プロセス内の全スレッドを終了させると,保留中のすべてのメッセージが破棄されてしまいます。これを避けるため,TP1/EEでは,UAPを処理内容に応じて保護区(プロセスダウン域)と非保護区(スレッドダウン域)に分けてプロセスの終了を制御します。保護区を実行中に異常が発生した場合は,プロセス内の全スレッドを終了させます。非保護区を実行中に異常が発生した場合は,異常が発生したスレッドだけを終了させます。異常が発生したスレッドだけを終了させることで,プロセスの終了を局所化できます。
UAPに異常が発生した場合に発生する同期シグナルを次の表に示します。
- 〈この節の構成〉