线程的数量与你的CPU核心数是相关的,另外是否采用多线程要看是不是会有程序等待IO而阻塞的情况发生,如果不是那样,那么意义不大。
你数据库查询1W条记录,都是需要从硬盘加载到内存,然后检索,返回,你分了10次,时间反而耗费的可能更多,意义不大,反而不如一次性加载出来。
启动2个线程一个用来插入数据
另一个要监视,监视线程可以考虑这么来实现 :每隔一段时间来对数据库进行检索,获得更新的部分数据,可以通过SQL语言实现。
当然这个办法比较笨
效率不好
如果你对数据库足够了解
应当知道里面有触发器机制
对插入数据建立一个触发器
每次的数据插入就会引发一个触发器事件
这时候再来对数据库中的数据进行检索
或者你可以自定义一个监听器 Listener
对数据进行监听
这要看您对代码的驾驭能力。通常意义上来讲,最有效率的方法应该是建立一个数据库连接池。当需要connection时从连接池中获取,使用完毕时丢回去。
连接池负责对数据库连接的建立(登录、初始设定如字符集等等)和销毁。
如果您担心这样做带来的代码复杂度,那么建议您每个线程使用一个单独的连接。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)