50,337
社区成员




package thread_test;
class Accum1 {
private static Accum1 a = new Accum1();
private int counter = 0;
private Accum1() {
};
public static Accum1 getAccum1() {
return a;
}
public void updateCounter(int add) {
counter += add;
}
public int getCount() {
return counter;
}
}
class ThreadOne implements Runnable {
Accum1 a = Accum1.getAccum1();
@Override
public void run() {
// TODO Auto-generated method stub
for (int i = 0; i < 98; i++) {
a.updateCounter(1000);
try {
Thread.sleep(50);
} catch (InterruptedException ex) {
}
}
System.out.println("one " + a.getCount());
}
}
class ThreadTwo implements Runnable {
Accum1 a = Accum1.getAccum1();
@Override
public void run() {
// TODO Auto-generated method stub
for (int i = 0; i < 99; i++) {
a.updateCounter(1);
try {
Thread.sleep(50);
} catch (InterruptedException ex) {
}
}
System.out.println("two " + a.getCount());
}
}
public class Accum {
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();
}
}