Java 使用线程并行运行类的方法
我正在使用java。我能够使用包名获取类名,通过初始化类并使用invoke属性运行方法来获取特定类中的所有方法,能够依次运行方法Java 使用线程并行运行类的方法,java,multithreading,Java,Multithreading,我正在使用java。我能够使用包名获取类名,通过初始化类并使用invoke属性运行方法来获取特定类中的所有方法,能够依次运行方法 Class c = Class.forName(Package.ClassName); Object obj = c.newInstance(); Method[] method = c.getDeclaredMethods(); for(Method m1 : method) { for(String sfunctionname :sFunctionName) if
Class c = Class.forName(Package.ClassName);
Object obj = c.newInstance();
Method[] method = c.getDeclaredMethods();
for(Method m1 : method)
{
for(String sfunctionname :sFunctionName)
if(sfunctionname.equals(m1.getName()))
{
System.out.println("Method Name " + m1.getName());
mth = m1.getName();
meth = (Method) obj.getClass().getMethod(sfunctionname);
meth .invoke(obj)
}
}
这些类的结构定义如下
private void class1()
{
method1();
method2();
method3();
}
private void class2()
{
method1();
method2();
method3();
}
等等
现在我想并行运行这些类(假设每个类都是一个测试用例),即第一个线程中一个类的所有方法,第二个线程中第二个类的方法,等等。。
class1中的所有方法都应该添加到一个线程execute中
对于class2也是一样,所有属于它的方法都应该在第二个线程中并行执行,以此类推。。在
如何使用多线程处理。我已经阅读了文档,但无法在此处了解如何使用callablehere
注意:在内部,一个方法依赖于它所属的类中的另一个,应该按顺序运行(可选:返回一些值)
谁能给我指点一下方向吗
提前感谢您可以简单地循环并创建线程
for (final String className : classNameList) {
new Thread(new Runnable() {
void run() {
Class c = Class.forName(className);
...
}
}).start();
}
但我建议您不要使用多线程,除非您真正了解多线程及其副作用