Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
批量运行java程序_Java_Multithreading_Batch File_Threadpool - Fatal编程技术网

批量运行java程序

批量运行java程序,java,multithreading,batch-file,threadpool,Java,Multithreading,Batch File,Threadpool,我用ItelliJ IDEA创建了一个java项目,包括: java类包含Main方法 FileOperations.java, zippers.java, SFTPTransfer.java CleanUp.java 从2到5的类在main.java中的main方法中实例化。该工作流程工作顺利。创建、压缩并将单个文件发送到SFTP服务器 但是我想运行上面的程序,即调用main方法至少一万次以上,因为我需要生成和发送这么多文件 最好的方法是什么?是否可以简单地使用某种批处理文件来实现,或者线程是

我用ItelliJ IDEA创建了一个java项目,包括:

java类包含Main方法 FileOperations.java, zippers.java, SFTPTransfer.java CleanUp.java 从2到5的类在main.java中的main方法中实例化。该工作流程工作顺利。创建、压缩并将单个文件发送到SFTP服务器

但是我想运行上面的程序,即调用main方法至少一万次以上,因为我需要生成和发送这么多文件

最好的方法是什么?是否可以简单地使用某种批处理文件来实现,或者线程是更好的选择


如果我使用线程,那么我还不确定如何多次调用main。

解决问题的一种方法是:

将代码从主方法移动到同一类中的单独方法,该类表示为单个文件执行整个步骤序列 在main方法中,根据需要多次调用新方法,使用您喜欢的循环构造,而对于每个需要处理的文件,则使用循环、线程执行器等。
java没有可以使用的for循环吗?你可以使用线程并行化,你有io操作,你被阻止到sftp服务器你可以并发上传多少文件Hi Nachokk,我还没有测量到允许到sftp的并发连接的数量,但是谢谢你的提问,因为我肯定应该研究一下。也许我会尝试从当前的工作流程中删除转印件,以便最终能够批量转印文件。另外,我目前面临着一些问题,我的线程被终止了。Jason的回答中的下面的评论,如果你知道一些方法,那么请分享。SomethingDark:循环可以工作,但会增加执行时间,所以我不能单独使用这种方法。我正在尝试将循环与线程结合起来。谢谢Jason,在您的回答之后,我决定使用线程,因为在循环中执行代码会花费很多时间,但无论出于何种原因,只有当线程数小于30左右时,它才能正常工作,否则由于某种原因,线程被终止。根据我目前的理解,这个程序不需要线程同步,因为每个程序都是序列中的一个步骤,其执行不能混乱。我可以采取什么方法来提高性能?测量不同代码块的时间戳,以便您了解哪些部分花费的时间最长,因此哪些部分将为您提供最佳的优化结果。