プライマリ・コンテンツに移動
Pro*C/C++プログラマーズ・ガイド
12c リリース1(12.1)
B71397-03
目次へ移動
目次
索引へ移動
索引

前
次

ランタイム・コンテキストの使用モデル

マルチスレッドのPro*C/C++アプリケーションでランタイム・コンテキストを使用した2つの可能なモデルを次に示します。

いずれのモデルを使用した場合も、複数のスレッドで同時に1つのランタイム・コンテキストを共有することはできません。複数のスレッドで同じランタイム・コンテキストを同時に使用すると、ランタイム・エラーが発生します。

複数のスレッドで1つのランタイム・コンテキストを共有

図11-2は、マルチスレッド環境で実行されるアプリケーションを示しています。1つ以上のSQL文を処理するために、様々なスレッドが1つのランタイム・コンテキストを共有します。この場合も、同時に複数のスレッドでランタイム・コンテキストを共有することはできません。図11-2のmutexは、同時使用を防ぐ方法を示しています。

図11-2 スレッド間のコンテキスト共有
図GUID-E229DBD7-C69B-4C5D-8F81-C095D0F07634-print.epsの説明 スレッド間のコンテキスト共有

複数のスレッドで複数のランタイム・コンテキストを共有

図11-3に、複数のランタイム・コンテキストを使用して複数スレッドを実行するアプリケーションを示します。この場合、各スレッドは専用のランタイム・コンテキストを使用するため、アプリケーションにはmutexは必要ありません。

図11-3 スレッド間のコンテキスト非共有

スレッド間のコンテキスト非共有
「図11-3 スレッド間のコンテキスト非共有」の説明