java - 在不同线程中运行测试用例以缩短执行时间

标签 java multithreading execution-time

假设,我有一些要从输入中读取的测试用例,其中每个测试用例参数后面跟着。 我如何创建一个新线程并在其中运行一个测试用例,最后按照测试用例出现的顺序打印结果。

Ex:
3 
3
1 2 3
2
1 2
10
1 2 3 4 5 6 7 8 9 10

这里 System.in 中的第一个数字给出了测试用例的数量,后面跟着 3 个测试用例,每个测试用例的第一行包含一个数字,显示输入值的数量等, 假设每个的逻辑是打印总和,这里的结果将是 6 3 55

这通常可以通过顺序读取输入、执行方法、打印来完成。 当哪些操作花费时间会增加程序的执行时间。 那么,我如何在不同的线程中运行每个测试用例,并像 6 3 55 那样打印结果。每当线程结束时都不应该打印。我希望我的英语可以理解...... 顺便说一句,类没有实例变量。

---这不用于 junit 或其他测试目的。一个程序,其中阴影部分作为输入,给出输出。我更像是要求针对这样的情况优化带有线程的程序

最佳答案

这听起来像是直接的 ThreadPoolExecutor http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/ThreadPoolExecutor.html 。您接受输入并构建一些可运行的对象。将其提交给 ThreadPoolExecutor,然后让输出显示在 System.out 上,Runnable 完成。

或者也许我不明白你的问题。我建议您研究 ThreadPoolExecutor 和/或 Futures。

这家伙有很好的例子:http://www.vogella.de/articles/JavaConcurrency/article.html#threadpools

关于java - 在不同线程中运行测试用例以缩短执行时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8753217/

相关文章:

java - 在 AsyncTask 进程中检索位图时发生错误

php - PHP 脚本中的最大执行时间错误,这是绕过它的好方法吗?

php - fatal error : Maximum execution time of 0 seconds exceeded

java - 为什么 urlconnection 没有读取完整的响应

java - 当我尝试从我的 webapp 在 tomcat 服务器中发送 get 或 post https 请求时出现 SSLHandshakeException

c++ - 线程退出事件 - C++

c - 在多线程程序中处理异步信号

JAVA:静态方法在执行过程中对性能有很大影响吗?

java - 我如何知道 Soundpool 已准备好使用低于 2.2 的 SDK 目标?

java - 用jrebel-maven-plugin在jar模块根目录生成rebel.xml