私はマルチスレッドにかなり慣れておらず、それを適用するために何かを試みましたが、私はちょっと立ち往生しています。
シナリオは次のとおりです。droolsを使用して、dbから読み取られたオブジェクトのセットにルールを適用してから、更新された値をdbに書き戻します。
ここで、上記のプロセスを複数回繰り返すので、あるスレッド(メインスレッド)で読み取り+垂下プロセスを実行し、別のスレッドで書き込み部分を実行したいと思います。
だから私は以下のコードを書きます:
Thread thread = new Thread(new Runnable()
{ public void run()
{
try
{
//writing the updated data in DB
aggregationDAO.updateCaseDetailsInOracle(queryList);
}
catch (Exception e) { throw new RuntimeException();
}
}
});
thread.start();
しかし、私はここで立ち往生しています。
まず、それは私queryList
が最終的なものになることを期待しています。
新しい更新されたデータが同じ変数にロードされるたびに、それを最終的なcozにすることはできません。
第二に、
プログラムをマルチスレッドで実行した後でも、実行時間の改善はありません。
誰かが私がどこで間違っているのか教えてもらえますか?