logo

CuriousTab

CuriousTab

Discussion


Home Java Programming Threads Comments

  • Question
  • Assume the following method is properly synchronized and called from a thread A on an object B:

    wait(2000);

    After calling this method, when will the thread A become a candidate to get another turn at the CPU?


  • Options
  • A. After thread A is notified, or after two seconds.
  • B. After the lock on B is released, or after two seconds.
  • C. Two seconds after thread A is notified.
  • D. Two seconds after lock B is released.

  • Correct Answer
  • After thread A is notified, or after two seconds. 

    Explanation
    Option A. Either of the two events (notification or wait time expiration) will make the thread become a candidate for running again.

    Option B is incorrect because a waiting thread will not return to runnable when the lock is released, unless a notification occurs.

    Option C is incorrect because the thread will become a candidate immediately after notification, not two seconds afterwards.

    Option D is also incorrect because a thread will not come out of a waiting pool just because a lock has been released.


    Threads problems


    Search Results


    • 1. Which will contain the body of the thread?

    • Options
    • A. run();
    • B. start();
    • C. stop();
    • D. main();
    • Discuss
    • 2. Which class or interface defines the wait(), notify(),and notifyAll() methods?

    • Options
    • A. Object
    • B. Thread
    • C. Runnable
    • D. Class
    • Discuss
    • 3. Which of the following will not directly cause a thread to stop?

    • Options
    • A. notify()
    • B. wait()
    • C. InputStream access
    • D. sleep()
    • Discuss
    • 4. Which method must be defined by a class implementing the java.lang.Runnable interface?

    • Options
    • A. void run()
    • B. public void run()
    • C. public void start()
    • D. void run(int priority)
    • Discuss
    • 5. Which method registers a thread in a thread scheduler?

    • Options
    • A. run();
    • B. construct();
    • C. start();
    • D. register();
    • Discuss
    • 6. What is the name of the method used to start a thread execution?

    • Options
    • A. init();
    • B. start();
    • C. run();
    • D. resume();
    • Discuss
    • 7. Which of the following will directly stop the execution of a Thread?

    • Options
    • A. wait()
    • B. notify()
    • C. notifyall()
    • D. exits synchronized code
    • Discuss
    • 8. Which of these will create and start this thread?
      public class MyRunnable implements Runnable 
      {
          public void run() 
          {
              // some code here
          }
      }
      

    • Options
    • A. new Runnable(MyRunnable).start();
    • B. new Thread(MyRunnable).run();
    • C. new Thread(new MyRunnable()).start();
    • D. new MyRunnable().start();
    • Discuss
    • 9. What will be the output of the program?
      public class CommandArgsThree 
      {
          public static void main(String [] args) 
          {
              String [][] argCopy = new String[2][2];
              int x;
              argCopy[0] = args;
              x = argCopy[0].length;
              for (int y = 0; y < x; y++) 
              {
                  System.out.print(" " + argCopy[0][y]);
              }
          }
      }
      
      and the command-line invocation is

      > java CommandArgsThree 1 2 3


    • Options
    • A. 0 0
    • B. 1 2
    • C. 0 0 0
    • D. 1 2 3
    • Discuss
    • 10. What will be the output of the program?
      public class X 
      {
          public static void main(String [] args) 
          {
              String names [] = new String[5];
              for (int x=0; x < args.length; x++)
                  names[x] = args[x];
              System.out.println(names[2]);
          }
      }
      
      and the command line invocation is

      > java X a b


    • Options
    • A. names
    • B. null
    • C. Compilation fails
    • D. An exception is thrown at runtime
    • Discuss


    Comments

    There are no comments.

Enter a new Comment