我对多线程很陌生,并尝试过应用它,但我有点卡住了。
这是场景:使用drools 对从数据库读取的一组对象应用规则,然后将更新的值写回数据库。
现在,我多次重复上述过程,所以我想在一个线程(主线程)中运行读取+流口水过程,而在另一个线程中运行写入部分。
所以我写了下面的代码:
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();
但是,我被困在这里。
首先,它希望 myqueryList
是最终的。
每次在同一个变量中加载新的更新数据时,我都无法使其成为最终结果。
第二,
即使在让我的程序运行多线程之后,我的运行时间也没有任何改善。
有人可以告诉我哪里出错了吗?