我想把数据能保存到文件中又能保存到数据库中,用java的多线程如何实现这个功能

我想把数据能保存到文件中又能保存到数据库中,用java的多线程如何实现这个功能,第1张

这个问题...不知道是你没说清楚还是我没看明白.不过简单的实现以下还是比较简单的

既然多线程,那么,不同的保存方式就是两个不同的线程.

然后你在调用的时候new 出来这个d对象,然后运行这个d对象,就可以开了一个线程执行了.

interface A{

    boolean 保存(Entity entity)

}

class B implements A{

    public boolean 保存(Entity entity){

        //文件保存

    }

}

class C implements A{

    public boolean 保存(Entity entity){

        //数据库保存

    }

}

class Main{

     public static void main(String[]args){

        Entity entity = new Entity()

        D d = new D(entity)

        new Thread(D).start()

    }

}

class D implements Runnable{

    private A a

    private Entity entity

    public D(Entity entity){

        this.entity = entity

        //用随机数得到1,2,如果是1则将a初始化为B,如果是2,则将a初始化为c

    }

    public void run(){

        a.保存(entity)

    }

}

当然还有另外一个思路.

你可以生成两个Entity的队列

一个队列是要用文件保存的任务.一个队列是用数据库保存的队列.

你在保存的时候,仅仅需要往不同的队列里放,然后就由专门的线程来去保存即可

手打~~如果还有问题,可追问.不过大概明天才能回答,我一天回答一两个问题

启动2个线程

一个用来插入数据

另一个要监视,监视线程可以考虑这么来实现 :每隔一段时间来对数据库进行检索,获得更新的部分数据,可以通过SQL语言实现。

当然这个办法比较笨

效率不好

如果你对数据库足够了解

应当知道里面有触发器机制

对插入数据建立一个触发器

每次的数据插入就会引发一个触发器事件

这时候再来对数据库中的数据进行检索

或者你可以自定义一个监听器 Listener

对数据进行监听


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9997085.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存