每个人都知道正义。 我练习线程和班级关系。 我的问题是从线程类获得结果。 如果你建议回调,你可以为这个例子实现回调类。
public class factorial extends Thread {
int sz = 0;
List < String > ar = new ArrayList < String > ();
public factorial(int n) {
this.sz = n;
}
public void run() {
int p = 1;
for (int i = 1; i <= sz; i++) {
p *= i;
ar.add(p + "");
}
}
}
public class Test {
public static List < String > ans = new ArrayList < String > ();
public static void main(String[] args) {
factorial f1 = new factorial(10);
factorial f2 = new factorial(8);
}
}
答案 0 :(得分:1)
在你的主要:
// Start both threads
f1.start();
f2.start();
// Wait until they are finished
f1.join();
f2.join();
// Here are your lists
List<String> f1Strings = f1.ar;
List<String> f2Strings = f2.ar;
但是,我无法通过代码审核来帮助自己:
Factorial
)开头,应该更具描述性,例如:FactorialCalculatorThread
getSomething
)并使用描述性名称!