

Java.lang Class - Programming
Q1: What will be the output of the program?
public class Test
{
public static void main(String[] args)
{
final StringBuffer a = new StringBuffer();
final StringBuffer b = new StringBuffer();
new Thread()
{
public void run()
{
System.out.print(a.append('A'));
synchronized(b)
{
System.out.print(b.append('B'));
}
}
}.start();
new Thread()
{
public void run()
{
System.out.print(b.append('C'));
synchronized(a)
{
System.out.print(a.append('D'));
}
}
}.start();
}
}
A ACCBAD
B ABBCAD
C CDDACB
D Indeterminate output
ANS:A - ACCBAD It gives different output while executing the same compiled code at different times. C:\>javac Test.java C:\>java Test ABBCAD C:\>java Test ACADCB C:\>java Test ACBCBAD C:\>java Test ABBCAD C:\>java Test ACBCBAD C:\>java Test ACBCBAD C:\>java Test ABBCAD |


For help Students Orientation
Mcqs Questions
One stop destination for examination, preparation, recruitment, and more. Specially designed online test to solve all your preparation worries. Go wherever you want to and practice whenever you want, using the online test platform.