1.4.3 同期・非同期処理

DABrokerによるデータベースアクセスでは,データベースアクセスを非同期に実行することも簡単にできるインタフェースになっています。

同期・非同期処理の選択は,DBMSとの接続の際に呼び出すConnectメソッドの引数で指定します。

<この項の構成>
(1) 同期処理
(2) 非同期処理

(1) 同期処理

同期処理が指定された場合,DABrokerはSQL文の処理要求を受け付けると,アプリケーションに制御を戻さないまま,DBMSに対してSQL文の処理を要求します。アプリケーションに制御が戻るのは,SQL文の処理が完了した時点です。

(2) 非同期処理

非同期処理が指定された場合,DABrokerはアプリケーションからのSQL文の処理要求を受け取ると,制御をいったんアプリケーションに戻し,同時にスレッドを生成してDBMSに対してSQL文の処理を要求します。

したがって,アプリケーションでは,複数のSQL文の処理を同時に行うことが可能であり,性能対策に効果があります。この複数のスレッドを生成して行う処理を,DABrokerではマルチスレッド処理と呼びます。

アプリケーションでは,非同期処理の完了待ちや実行中であるかなどの確認を,クラスの提供するメソッドを利用して行えます。

非同期アクセスの例を図1-3に示します。

図1-3 非同期アクセスの例

[図データ]