您好,对于我正在处理的程序,我需要使用可变数量的线程来完成一项任务。扩展 Thread 的类 Mythread 存储在我创建的另一个类 X 中。
应该发生的是当我调用 X 时它传递一个参数 n,它指定可以使用的最大线程数。我不确定如何创建 n 个线程,因为我在网上阅读的所有内容都表明必须像
一样显式调用线程Thread thread1 = new Mythread();
我试过:
while (0 >= n)
{Thread thread1 = new Mythread(); n--;}
但这没有用。关于如何去做的任何想法?抱歉,如果我的问题有点模糊,这是学校的问题,我想自己学习这些 Material ,然后发布大部分项目。如果您需要任何其他信息或需要澄清,请随时询问。
最佳答案
通常你会做的是创建一个线程数量有限的池化执行器,并使用循环或其他一些机制来传递任意数量的可调用任务:
ExecutorService exec = Executors.newFixedThreadPool(n);
for (int i = 0; i < n; ++i) {
exec.submit(new MyCallable());
}
关于java - 在 Java 中创建未知数量的线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4858305/