是这样的:
我写了几个类Thread_a,Thread_b,Thread_c都是如public class Thread_a extends Thread这样的
但是这样的类有很多个,而且我不确定他们的个数和类名,
但是我已经把他们的类名保存在数据库中,通过访问数据库来确定他们的个数和具体名字,
如把他们的名字保存到一个List中,通过list.size(),list.get()得到个数和类名,
现在我要想在另外一个程序中启动这些线程该怎么写呢?
我写了几个类Thread_a,Thread_b,Thread_c都是如public class Thread_a extends Thread这样的
但是这样的类有很多个,而且我不确定他们的个数和类名,
但是我已经把他们的类名保存在数据库中,通过访问数据库来确定他们的个数和具体名字,
如把他们的名字保存到一个List中,通过list.size(),list.get()得到个数和类名,
现在我要想在另外一个程序中启动这些线程该怎么写呢?
a.start()试试
for (String threadClassName: threadNameList) {
Thread foo = (Thread)Class.forName(threadClassName).newInstance();
foo.start();
}
} catch (Exception e) {
e.printStackTrace();
}
我根据3楼的改写成这样//package threadbean
//Job.java
List list=new ArrayList();
list.add(new String("threadbean.Thread_a"));
list.add(new String("threadbean.Thread_b"));
list.add(new String("threadbean.Thread_c"));
list.add(new String("threadbean.Thread_d"));
list.add(new String("threadbean.Thread_ab"));String threadClassName="";
for (int i=0;i<list.size();i++) {
threadClassName =(String)list.get(i);
Thread foo = (Thread)Class.forName(threadClassName).newInstance();
foo.start();
}编译是没有错了运行也成功了,感谢各位帮忙,可是还能不能问一下弱弱的问题,就是因为这些文件我全是放在同一目录里的
现在,如果我把Thread_a,Thread_b这几个文件放在和threadbean同一级的目录,这又要怎么运行呢?
比如Thread_a放在jobbean文件夹下,threadbean和jobbean在同一级目录
这时list.add(new String("threadbean.Thread_a"));中的"threadbean.Thread_a"要改成什么?(这问题有点弱智,但是我真的不会)