Alguém sabe me explicar pq esse código add 03 vezes ao invéz de 02 ???
[code]
import java.util.*;
public class NameList {
private List names = new ArrayList();
public synchronized void add(String name) {
names.add(name);
}
public synchronized void printAll() {
for (int i = 0; i < names.size(); i++) {
System.out.print(names.get(i) + " ");
}
}
public static void main(String[] args) {
final NameList sl = new NameList();
for (int i = 0; i < 2; i++) {
new Thread() {
public void run() {
sl.add("A");
sl.add("B");
sl.add("C");
sl.printAll();
}
}.start();
}
}
}
[code]
A saída disso é:
"A B C A B C A B C " ou
"A B C A A B C A B C "