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 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 ruin() { sl.add(”A”); sl.add(”B”); sl.add(”C”); sl.printAll(); } }.start(); } } } Which two statements are true if this class is compiled and run?()
- A An exception may be thrown at runtime.
- B The code may run with no output, without exiting.
- CThe code may rum with output “A B A B C C “, then exit.
- DThe code may ruin with output “A A A B C A B C C “, then exit.
- E The code may rum with output “A B C A B C A B C “, then exit.
- FThe code may ruin with output “A B C A A B C A B C “, then exit.