Threads

Q1: What will be the output of the program?
public class WaitTest 
{
    public static void main(String [] args) 
    {
        System.out.print('1 ');
        synchronized(args)
        {
            System.out.print('2 ');
            try 
            {
                    args.wait(); /* Line 11 */
            }
            catch(InterruptedException e){ }
        }
        System.out.print('3 ');
    }
}

A
It fails to compile because the IllegalMonitorStateException of wait() is not dealt with in line 11.

B 1 2 3

C 1 3

D 1 2

ANS:A -

It fails to compile because the IllegalMonitorStateException of wait() is not dealt with in line 11.

1 and 2 will be printed, but there will be no return from the wait call because no other thread will notify the main thread, so 3 will never be printed. The program is essentially frozen at line 11. A is incorrect; IllegalMonitorStateException is an unchecked exception so it doesn't have to be dealt with explicitly. B and C are incorrect; 3 will never be printed, since this program will never terminate because it will wait forever.



img not found
img

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.