我们公司有一个每天运行的批处理应用程序,它主要执行一些与数据库相关的工作,例如,从文件将数据导入数据库表。
该应用程序中定义了20多个任务,每个任务可能取决于其他任务。应用程序一个接一个地执行任务,整个应用程序在单个线程中运行。
完成所有任务需要3到7个小时。我认为它太长了,所以我想也许我可以通过多线程来提高性能。
我认为,由于任务之间存在依赖性,因此使任务并行运行不是很好(或者很不容易),但是也许我可以使用多线程来提高任务内部的性能。
例如:我们有一个定义为“
ImportBizData”的任务,该任务将数据从数据文件(通常包含100,0000+行)复制到数据库表中。我想知道是否值得使用多线程?
据我对多线程的了解,我希望有人提供有关此主题的一些教程链接。
多线程将提高您的性能,但您需要了解以下几点:
commit
以避免累积大量的回滚/撤消表。详细说明最后一点:当前,您有一个任务,可以读取文件,解析文件,打开JDBC连接,进行一些计算,将数据发送到数据库等。
您应该做什么:
第一个和最后一个线程的速度很慢,因为它们受I /
O约束(硬盘速度很慢,网络连接更糟)。另外,在数据库中插入数据是一项非常复杂的任务(分配空间,更新索引,检查外键)
使用不同的工作线程有很多优点:
问题内容: 我想学习有关Javaagents的知识,但是研究并不容易。结果大部分是指。我知道Java代理可以表示两件事: 用Java编程的代理是分布式系统的代理概念的化身。 用于增强JVM工作的底层软件组件,例如探查器,代码覆盖工具等。 我在这里找到了类似的问题,但不幸的是,它也涉及版本1。 您是否了解任何有关版本2中的javaagent的文章,初学者教程和示例项目?我在这里找到了,但我正在寻找更
问题内容: 按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 有人可以指出好的教程/书籍来学习如何在Android中使用/配置Hibernate吗? 问题答案: AFAIK,Hibernate在Android上不起作用。H
本文向大家介绍Java多线程中关于join方法的使用实例解析,包括了Java多线程中关于join方法的使用实例解析的使用技巧和注意事项,需要的朋友参考一下 先上代码 新建一个Thread,代码如下: 之后新建测试类,代码如下: 下面是Java Platform SE8 API中对Thread中Join方法的解释: 先上代码 新建一个Thread,代码如下: 之后新建测试类,代码如下: 下面是Jav
本文向大家介绍python中的多线程实例教程,包括了python中的多线程实例教程的使用技巧和注意事项,需要的朋友参考一下 本文以实例形式较为详细的讲述了Python中多线程的用法,在Python程序设计中有着比较广泛的应用。分享给大家供大家参考之用。具体分析如下: python中关于多线程的操作可以使用thread和threading模块来实现,其中thread模块在Py3中已经改名为_thre
主要内容:读者,前提条件,先决条件,JDBC架构,常见的JDBC组件:,JDBC 4.0软件包,问题反馈JDBC API是一个Java API可以访问任何类型的数据库的数据,尤其是存储在关系数据库中的数据。 JDBC的工作原理与Java在各种平台一样,如Windows,Mac OS和各种版本的UNIX系统。 读者 本教程是为Java程序员设计的,需要了解JDBC框架的细节以及它的架构和实际使用情况。 前提条件 在学习本教程,应该对Java编程语言的一个很好的理解。因为要处理RDBMS,所以它需要
所以我试图从另一个类开始一个服务类。这里是代码... 当上面的代码运行时,我的服务类在后台运行,而我被带回ujk类(这完全没问题)。在abcservice类中的onStart(Intent意图,int starId)方法内部,我正在以以下方式运行一个线程... 下面是onDestroy()方法。。 现在在日志中我得到以下输出。。。 我的疑问是... 1.这是正确的输出吗?我的意思是,如果服务在线程