java 多线程 对集合数据的处理

java 多线程 对集合数据的处理,第1张

这种查询你用多线程实现是没有意义的。反而会增加查询时间。

线程的数量与你的CPU核心数是相关的,另外是否采用多线程要看是不是会有程序等待IO而阻塞的情况发生,如果不是那样,那么意义不大。

数据库查询1W条记录,都是需要从硬盘加载到内存,然后检索,返回,你分了10次,时间反而耗费的可能更多,意义不大,反而不如一次性加载出来。

启动2个线程

一个用来插入数据

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

当然这个办法比较笨

效率不好

如果你对数据库足够了解

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

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

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

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

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

对数据进行监听

这要看您对代码的驾驭能力。

通常意义上来讲,最有效率的方法应该是建立一个数据库连接池。当需要connection时从连接池中获取,使用完毕时丢回去。

连接池负责对数据库连接的建立(登录、初始设定如字符集等等)和销毁。

如果您担心这样做带来的代码复杂度,那么建议您每个线程使用一个单独的连接。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存