Hi all,we need to discuss on how the output for the below program is generated?
class A extends
Thread {
String[] sa;
public A(String[] sa)
{
this.sa = sa;
}
public void run()
{
synchronized (sa)
{
System.out.print(sa[0] + sa[1] + sa[2]);
}
}
}
class B09
{
private static String[] sa = new String[]{"X","Y","Z"};
public static void main (String[] args)
{
synchronized (sa)
{
Thread t1 = new A(sa);
t1.start();
sa[0] = "A"; sa[1] = "B"; sa[2] = "C";
}
}
}