我正在开发一个项目,当满足特定条件时,我必须创建一个或多个新线程。基本上我每次都在创建具有不同名称的新线程,因为我不知道在tun时间内会生成多少个线程。
示例:线程t1 =新线程(); 线程t2 =新线程();等等.. 在这里,我不知道是否需要到t10或t99。
答案 0 :(得分:1)
我知道你没有要求循环,但这会得到你需要的吗?
int numberOfThreads = //whatever;
ArrayList<Thread> threadList = new ArrayList<>();
for(int i = 0; i<numberOfThreads; i++)
{
Thread t = new Thread();
threadList.add(t);
}
您可以通过索引而不是名称来调用线程,threadList.get(number);
答案 1 :(得分:1)
首先要做的事情:
java中没有动态变量。您必须在源代码中声明它们。
要解决您的标识符问题,您可以使用HashMap
:
Map<String, Thread> hm = new HashMap<String, Thread>();
一种为其添加线程的方法:
public void addThreadToMap(Thread t) {
hm.put("t" + hm.size().toString(), t); //This will add the thread with the key [t0 .... tn]
}
答案 2 :(得分:0)
您可以创建一个ArrayList并每次添加一个新的。