DABrokerによるデータベースアクセスでは,データベースアクセスを非同期に実行することも簡単にできるインタフェースになっています。
同期・非同期処理の選択は,DBMSとの接続の際に呼び出すConnectメソッドの引数で指定します。
同期処理が指定された場合,DABrokerはSQL文の処理要求を受け付けると,アプリケーションに制御を戻さないまま,DBMSに対してSQL文の処理を要求します。アプリケーションに制御が戻るのは,SQL文の処理が完了した時点です。
非同期処理が指定された場合,DABrokerはアプリケーションからのSQL文の処理要求を受け取ると,制御をいったんアプリケーションに戻し,同時にスレッドを生成してDBMSに対してSQL文の処理を要求します。
したがって,アプリケーションでは,複数のSQL文の処理を同時に行うことが可能であり,性能対策に効果があります。この複数のスレッドを生成して行う処理を,DABrokerではマルチスレッド処理と呼びます。
アプリケーションでは,非同期処理の完了待ちや実行中であるかなどの確認を,クラスの提供するメソッドを利用して行えます。
非同期アクセスの例を図1-3に示します。
図1-3 非同期アクセスの例