读书人

多线程同步jdbc有关问题

发布时间: 2012-01-13 22:43:30 作者: rapoo

多线程同步,jdbc问题
有如下一个查询一个表的类
public void demo() {
OracleDB db = new OracleDB();
String sql= "select * from aaa ";
ResultSet rs = db.UseQuery(sql);
try {
while (rs.next()) {
String aaa01 = (rs.getString(1));
System.out.println(aaa01);
}
catch (SQLException e) {
e.printStackTrace();
}
}
我将这个demo()放到了5个线程里去处理,以提高遍历的速度,这就存在一个线程同步的问题,如果不加同步处理,会出现5个线程都对所有的结果进行遍历,预期的结果是5个线程交替对记录进行遍历,我做的同步处理如下:
public void demo() {
OracleDB db = new OracleDB();
String sql= "select * from aaa ";
ResultSet rs = db.UseQuery(sql);
try {
synchronized (rs) {
while (rs.next()) {
String aaa01 = (rs.getString(1));
System.out.println(aaa01);
}
}
catch (SQLException e) {
e.printStackTrace();
}
}
可是问题依然存在,我实在不知道该怎么处理了,请高手帮忙!


[解决办法]
随便说句话。

读书人网 >Java Web开发

热点推荐