초보입니다. 소스 궁금한점 질문드립니다.
나오
public class testthreads{
public static void main(string[] args){
threadone t1 = new threadone();
threadtwo t2 = new threadtwo();
thread one = new thread(t1);
thread two = new thread(t2);
one.start();
two.start();
}
}
class accum{
private static accum a = new accum();
private int counter = 0;
private accum(){}
public static accum getaccum(){
return a;
}
public void updatecounter(int add){
counter += add;
}
public int getcount(){
return counter;
}
}
class threadone implements runnable{
accum a = accum.getaccum();
public void run(){
for(int x = 0; x 98; x++){
a.updatecounter(1000);
try{
thread.sleep(50);
}catch(interruptedexception ex){}
}
system.out.println(one + a.getcount());
}
}
class threadtwo implements runnable{
accum a = accum.getaccum();
public void run(){
for(int x = 0; x 99; x++){
a.updatecounter(1);
try{
thread.sleep(50);
}catch(interruptedexception ex){}
}
system.out.println(two + a.getcount());
}
}
runnable 인터페이스를 상속받은 2개의 클레스에 대해 궁금해서 질문드립니다.
보시면 updatecounter에 대해 각각 1000,1 씩 주어졋음을 알수있습니다. 왜이렇게 차이나게 두는건지..
그리고 실행결과가 저렇게 나온는데..0부터 1,2,3,이런식으로 99까지 더해서 실제로 저 97098저정도로 값이 안나올거같은데
pan
제가 잘못알고 있는건지 궁금합니다. 답변해주시면 정말 감사합니다.^^