gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 15:36:37 25 4
gpt4 key购买 nike

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

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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com