java如何用10个线程实现从1加到100,如果不调用join每个线程都是从21开始加到30.求解决
public class thread {
public static void main(String[] args) throws InterruptedException {
mythread mt = new mythread();
mt.setbagin(1);
Thread th1 = new Thread(mt,"第1个线程");
th1.start();
th1.join();
mt.setbagin(11);
Thread th2 = new Thread(mt,"第2个线程");
th2.start();
th2.join();
mt.setbagin(21);
Thread th3 = new Thread(mt,"第3个线程");
th3.start();
th3.join();
System.out.println(mt.Getsum());
}
}
class mythread extends Thread{
public int sum=0;
private int bagin;
public void run(){//synchronized
System.out.println(Thread.currentThread().getName()+"setbagin="+bagin);
for(int i=bagin;i<=bagin+9;i++){
sum+=i;
System.out.println(Thread.currentThread().getName()+"sum:"+sum);
}
}
public void setbagin(int bagin){
this.bagin = bagin;
}
public int Getsum(){
return sum;
}
}