掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
複数のスレッドからParadoxを扱うには? (ID:5224)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ご指摘いただいた Synchronized を使用するとDBアクセス処理がバッチ(どれか一つを処理している間、それ以外の処理が待たされる)状態になるので、反応速度の低下が懸念されると思うのですが、いかがでしょうか。 現在、各スレッドは ① モバイル端末からの受信ファイルの解析、転送 ② モバイル端末からの問い合わせ応答 ③ PC端末画面からのユーザ操作応答(画面表示、印字) の機能をを担当しています。 これらの機能は非同期に任意タイミングで発生する可能性があり、また、意図的に優先している機能もありません。少なくとも、②、③の各操作に対する応答時間は1秒以内(特に②)でないとユーザーが納得しない面もあり、厄介な問題です。 今は以下のような感じでコーディングされています。 例)データベースコンポーネント作成部分の抜粋 procedure AThread.AProc ; begin // セッション生成 Session1 := TSession.Create(nil); Session1.SessionName := 'Session1'; Session1.Name := 'Session1'; // データベース生成 Database1 := TDatabase.Create(nil); Database1.SessionName := m_Session1.SessionName; Database1.DatabaseName := '.\DB'; Database1.TransIsolation := tiDirtyRead; Database1.Name := 'Database1' ; Session1.Databases[0].DatabaseName := Database1.DatabaseName; // クエリー作成 Query1 := TQuery.Create(nil) ; Query1.DatabaseName := Database1.DatabaseName; Query1.SessionName := Session1.SessionName; end; ご指摘事項がございましたら、よろしくお願いいたします。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.