问一个线程问题

evangelionxb 2011-03-30 08:59:05
有三个产品的库存记录分别存储在三个不同类型(mysql,oracle,db2)数据库中。(该库存记录是实时的)
现在要从3个数据库中每隔一定时间取得产品的库存记录。
显示8小时之间的库存曲线。

我想问的是
1:线程方面应该如何设计好些?线程优化
2:如何保证只存储8小时的记录。(超过8小时的数据自动清除)
3:保证每隔5分钟及时取出记录。

我现在大体上做的。线程没有做好。
我将库存信息从三个数据库中取出来之后,加上时间戳存在供做图用的另一个postgresql中。
然后用jfreechart从postgresql抽取画出时间-值曲线图。
线程的话现在还用的是sleep()

public class Thread1 implements Runnable{

@Override
public void run() {
// TODO Auto-generated method stub
boolean flag = true;

while(flag==true){
CpuTotalInsert c = new CpuTotalInsert();
c.insert();
CpuWaitInsert c = new CpuWaitInsert();
c.insert();
CpuUserInsert c = new CpuUserInsert();
c.insert();
try {
Thread.sleep(1000*60*5);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}

}


我的线程学习的很遭,像了解下这样的线程应该如何设计。

...全文
71 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zn85600301 2011-03-30
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 lk198186 的回复:]

用quartz吧,执行定时任务很好使,或者用jdk自带的定时器
[/Quote]

写2个定时任务

一个负责同步新的实时数据 一个负责检查过时的数据并清除
evangelionxb 2011-03-30
  • 打赏
  • 举报
回复
不能对原有的数据库(mysql,oracle,db2)进行功能上改动

自动作业请教下
lk198186 2011-03-30
  • 打赏
  • 举报
回复
用quartz吧,执行定时任务很好使,或者用jdk自带的定时器
zqfddqr 2011-03-30
  • 打赏
  • 举报
回复
为什么不倒到一个库里。。。。


每隔5分钟把新出的数据倒到自己的库里(本地库)


整个自动作业 超8小时的删掉。。。。
evangelionxb 2011-03-30
  • 打赏
  • 举报
回复
如果有更方便的存储方式
例如:不存储在postgresql中,而是直接导入到.csv文件中
从csv中读取记录。
这样的保持只存储8小时之间的记录是如何做到的?
evangelionxb 2011-03-30
  • 打赏
  • 举报
回复
更多的想看一下大家的意见

如果说现在库存多了一个(MSSQL)的记录
要方便的对现有的程序进行扩充。

这个方面的设计?

还有关于

数据采集和处理进程层面的解耦,并发性优化。
a:记录端方法异步化
b:记录端逻辑尽量简单
c:降低i/o开销

要多考虑这些因素,我应该如何取做?

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧