본문 바로가기

개발하자/JAVA고급

Thread,InterruptedException,join();

class A{
 public static void main(String args[]) throws InterruptedException{
  B t1=new B(1,50);
 B t2=new B(51,100);

 t1.start(); t2.start();
 t1.join(); t2.join();        -->join을 해주지 않으면 계산되기전에 끝나버리는 경우가 발생하여 제대로 된 값이 출력되지 않는다.
 System.out.println(t1.sum+t2.sum);//5050
 }
}

class B extends Thread{
 int num1;
 int num2;
 int sum=0;
 int i;
 B(int n1,int n2){
 num1=n1;
 num2=n2;
 }
 public void run(){
 for(i=num1;i<=num2;i++){
 sum+=i;
 }
 }
}