マルチスレッドで動作するアプリケーションの注意事項について

マルチスレッドで動作するアプリケーションからSQL文を実行する場合の注意事項はありますか?
マルチスレッド環境で動作するアプリケーションは共有のアドレス・スペースで複数のスレッドを使用します。スレッドは、プロセス内で実行されるサブプロセスです。1つのスレッドに対して1つの業務を割り当てることができ、複数のスレッドを使用して複数の業務を並列に実行できます。
最初のCONNECT文から最後のDISCONNECT文までをセションと呼びますが、1つのプロセスで1つのセションを実行する場合は、最初のSQL文の実行時にSymfoware/RDBが自動的にセション環境を作成しています。しかし、マルチスレッド環境では、複数のセションを同時に実行するため、セションを操作する関数を利用してセションの作成および破棄を行ってください。
以下のSQL拡張インターフェースを利用することで、複数のセションを同時に実行することができます。
  1. セションの作成 SQLThrAllocID
     ↓
  2. セションの開始 SQLThrStartID
     ↓
  3. SQL文
     ↓
  4. セションの終了 SQLThrEndID
     ↓
  5. セションの破棄 SQLThrFreeID

詳細につきましては製品添付の以下マニュアルをご覧ください。

  • Symfoware Server  V12.3.0 アプリケーション開発ガイド(埋込みSQL編)
     第2章 アプリケーションの設計
      2.1 セション
      2.6 マルチスレッド環境におけるデータ操作

なお、上記以外の製品バージョン/レベルについては、該当するマニュアル箇所を参照してください。

製品・サービス区分 Symfoware
製品・サービス情報
対象製品 Symfoware Server (Native Interface)
プラットフォーム Windows, Solaris, Linux
アンサー種別 設計/開発
このページの先頭へ