这是课本上一道作业题,我也要把我的答案贴出来。
package cap5;
public class MySumDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
for (int j = 0; j < 10; j++) {
SumToolThread stt = new SumToolThread(j);
Thread partSumThread = new Thread(stt);
partSumThread.start();
}
while(true) {
if(SumToolThread.getAliveThreadNumber() <= 0) {
System.out.println("The caculate result is " + SumToolThread.getTotalResult());
break;
}
}
}
}
class SumToolThread implements Runnable{
private int decimal;
static private int totalResult;
static private int aliveThreadNumber = 10;
public static int getAliveThreadNumber() {
return aliveThreadNumber;
}
public SumToolThread(int decimal) {
super();
this.decimal = decimal;
}
public static int getTotalResult() {
return totalResult;
}
public SumToolThread() {
super();
// TODO Auto-generated constructor stub
}
@Override
public void run() {
// TODO Auto-generated method stub
int partResult = 0;
for (int i = 0; i < 10; i++) {
partResult += (decimal * 10 + i + 1);
}
totalResult += partResult;
aliveThreadNumber -= 1;
}
}