1

結果セットに Java Concurrent ie Callable を適用したいと思います。シナリオは -

  1. JDBC を使用して DB にクエリを実行します。
  2. 結果セットを callable に送信して、別のファイルに書き込みます。

データが大きくなるので、結果セットにしたいと思います。問題に対するより良いアプローチを得るために私を助けてください。

4

2 に答える 2

2

ResultSetの設計方法により、多くのスレッドで同時に使用されることは想定されていません。ただし、結果セットを反復処理する1つのスレッドを作成し、行データをCallablesに送信して、各行(または行のグループ)をさらに処理することができます。

于 2012-10-04T07:57:20.533 に答える
0

あなたはswingまたはjavaFXでプログラミングしていると思いますが、GUIスレッドをブロックしています。

そのため、jdbc リクエストを処理する別のスレッドを作成し、「お待ちください」メッセージを表示する必要があります。

次のようにします。

new Thread(new Runnable(){
  void run(){
   final result = jdbc.getResultSet();
   // Under JavaFX 2
   Platform.runLater( new Runnable() {
          public void run() {
                 //Show results
          }
   } );
   // Under Swing
   SwingUtilities.invokeLater(new Runnable() {
          public void run() {
                 //Show results
          }
   });
  }
}
);
于 2012-10-04T08:27:38.290 に答える