当前位置: 首页 > 面试题库 >

如何在Java中实现多个线程来下载单个表数据?

满勇军
2023-03-14
问题内容

如何实现具有多个/相同连接的多个线程,以便可以快速下载单个大表数据。

实际上,在我的应用程序中,我正在下载包含12个lacs(1 lac =
100,000)记录的表,以正常的连接速度至少要花4个小时来下载,而在连接缓慢的情况下要花更多的时间。

因此,需要在Java中实现多个线程,以下载具有多个/相同连接对象的单个表数据。但是不知道该怎么做。

如何在多个线程中放置记录指针,然后如何将所有线程记录添加到单个大html" target="_blank">文件中?

提前致谢


问题答案:

首先,不建议将如此庞大的数据提取并下载到客户端上。如果需要用于显示的数据,则不需要更多适合屏幕的记录。您可以对数据进行分页并一次获取一页。如果要获取它并在内存中进行处理,那么您肯定会在客户端上用完内存。

如果不管建议如何都需要执行此操作,则可以生成多个线程,这些线程具有与数据库的独立连接,其中每个线程将提取一部分数据(1到许多页面)。如果您说有100K条记录和100个可用线程,则每个线程可以提取1K条记录。再次建议不要有100个线程与数据库建立100个开放连接。这只是一个例子。将线程数限制为某个最佳值,并限制每个线程要提取的记录数。您可以基于rownum限制从数据库中提取的记录数。



 类似资料:
  • 本文向大家介绍java多线程实现文件下载,包括了java多线程实现文件下载的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了java多线程实现文件下载的具体代码,供大家参考,具体内容如下 1、DownloadManager类  2、DownloadThread类 3、TestDownload测试类 代码已经测试可以运行! 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多

  • 问题内容: 我正在尝试使用线程下载多个与模式匹配的文件。该模式可以匹配1或5或10个差异大小的文件。 为了简单起见,可以说下载文件的实际代码在downloadFile()方法中,而fileNames是与模式匹配的文件名列表。我该如何使用线程。每个线程将仅下载一个文件。建议在for循环内创建一个新线程。 问题答案: 您确实想使用ExecutorService而不是单个线程,它更干净,性能可能更高,并

  • 本文向大家介绍java多线程实现文件下载功能,包括了java多线程实现文件下载功能的使用技巧和注意事项,需要的朋友参考一下 多线程下载文件的思路: 1.首先获取到文件的总大小 获取文件大小的方式是通过网络读取,getContentLength()即可获取到文件的大小,使用RandomAccessFile()支持随机访问 2.根据所准备的线程数据,计算每一个线程需要下载的文件的大小 上图显示下载40

  • 问题内容: 在Java中这样做是合法的: 我该怎么做(语法不合法): 我想尽可能地迫使调用者使用既可追加又可关闭的对象,而无需特定类型。 有多个标准类可以执行此操作,例如BufferedWriter,PrintStream等。 如果我定义自己的界面 因为实现了Appendable和Closeable的标准类没有实现我的接口AppendableAndCloseable,所以这是行不通的(除非我不像我

  • 本文向大家介绍Android实现断点多线程下载,包括了Android实现断点多线程下载的使用技巧和注意事项,需要的朋友参考一下 断点多线程下载的几个关键点:①:得到要下载的文件大小后,均分给几个线程。②:使用RandomAccessFile类进行读写,可以指定开始写入的位置。③:数据库保存下载信息,下一次继续下载的时候从数据库取出数据,然后从上次下载结束的地方开始。 这里我使用了FinalDb的数

  • 本文向大家介绍java实现从网络下载多个文件,包括了java实现从网络下载多个文件的使用技巧和注意事项,需要的朋友参考一下 java从网络下载多个文件,供大家参考,具体内容如下 首先是打包下载多文件,即打成压缩包在下载。 其次 别处的资源:可以是别的服务器,可以是网上的资源,当然也可以是本地的(更简单) 最后:一次性下载,一次性下载多个文件 三步走: 一、先将 “别处” 需要下载的文件下载到服务器