chem_zqm 2010-01-04 01:28
浏览 359
已采纳

如何用java单用户多线程查询数据库?

问题是这样的:数据库有14张表相似的表,表属性除了表名都一样(其实就是每个盟市区划都各有一个表),需要通过表查询统计数据并汇总,如果单纯用sql语句再用union all的话需要20多秒的时间,如果数据量再大点这个时间会更长;我现在想通过java多线程同时将14张表的数据查出再进行汇总,至于数据库的I/O方面应该不会有问题,因为可以使用那库的人很少。

我现在可以写出一个多线程的代码如下:
[code="java"]
public class Test {
public static void main(String[] args) throws Exception{
Thread t0 = new MyThread("aa",100);
t0.start();
Thread t1 = new MyThread("bb",50);
t1.start();
Thread t2 = new MyThread("cc",3);
t2.start();
Thread t3 = new MyThread("dd",1);
t3.start();

                 getTotal();
  }

}
[/code]
现在就是无发保证最下面的方法在前面的线程都结束时调用,求解答!

  • 写回答

2条回答 默认 最新

  • xxxxxxxxxxxxxxxxx 2010-01-04 11:45
    关注

    给MyThread加个Vector,
    构造的时候,作add("query_key");
    线程退出(查询完毕)的时候,作remove("query_key");

    在线程退出的时候,判断vector里的东西,就ok.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 安装svn网络有问题怎么办
  • ¥15 Python爬取指定微博话题下的内容,保存为txt
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥15 latex怎么处理论文引理引用参考文献