adplus-dvertising
frame-decoration

Question

The static method Thread.currentThread() returns a reference to the currently executing Thread object. What is the result of this code?
class Test
{
 public static void main(String [] args)
 {
  printAll(args);
 }
 public static void printAll(String[] lines)
 {
  for(int i = 0; i < lines.length; i++)
  {
   System.out.println(lines[i]);
   Thread.currentThread().sleep(1000);
  }
 }
}

a.

Each String in the array lines will output, and there is no guarantee there will be a pause because currentThread() may not retrieve this thread.

b.

Each String in the array lines will output, with no pause in between because this method is not executed in a Thread.

c.

Each String in the array lines will output, with a 1-second pause.

d.

This code will not compile.

Posted under Java Programming

Answer: (d).This code will not compile.

Engage with the Community - Add Your Comment

Confused About the Answer? Ask for Details Here.

Know the Explanation? Add it Here.

Q. The static method Thread.currentThread() returns a reference to the currently executing Thread object. What is the result of this code?

Similar Questions

Discover Related MCQs

Q. Which statement is true?

Q. Which statement is true?

Q. Which statement is true?

Q. The following block of code creates a Thread using a Runnable target:

Runnable target = new MyRunnable();
Thread myThread = new Thread(target);

Which of the following classes can be used to create the target, so that the preceding code compiles correctly?

Q. Which two statements are true?

1. Deadlock will not occur if wait()/notify() is used
2. A thread will resume execution as soon as its sleep duration expires.
3. Synchronization can prevent two objects from being accessed by the same thread.
4. The wait() method is overloaded to accept a duration.
5. The notify() method is overloaded to accept a duration.
6. Both wait() and notify() must be called from a synchronized context.

Q. Which two can be used to create a new Thread?

1. Extend java.lang.Thread and override the run() method.
2. Extend java.lang.Runnable and override the start() method.
3. Implement java.lang.Thread and implement the run() method.
4. Implement java.lang.Runnable and implement the run() method.
5. Implement java.lang.Thread and implement the start() method.

Q. Which cannot directly cause a thread to stop executing?

Q. Which three are methods of the Object class?

1. notify();
2. notifyAll();
3. isInterrupted();
4. synchronized();
5. interrupt();
6. wait(long msecs);
7. sleep(long msecs);
8. yield();

Q. Which two are valid constructors for Thread?

1. Thread(Runnable r, String name)
2. Thread()
3. Thread(int priority)
4. Thread(Runnable r, ThreadGroup g)
5. Thread(Runnable r, int priority)

Q. What is the name of the method used to start a thread execution?

Q. Which class or interface defines the wait(), notify(),and notifyAll() methods?

Q. Which of the following will not directly cause a thread to stop?

Q. 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?

Q. Which method registers a thread in a thread scheduler?

Q. Which will contain the body of the thread?

Q. Which method must be defined by a class implementing the java.lang.Runnable interface?

Q. Which of the following will directly stop the execution of a Thread?

Q. Which three guarantee that a thread will leave the running state?

1. yield()
2. wait()
3. notify()
4. notifyAll()
5. sleep(1000)
6. aLiveThread.join()
7. Thread.killThread()

Q. Which two of the following methods are defined in class Thread?

1. start()
2. wait()
3. notify()
4. run()
5. terminate()

Q. Which of these method wakes up all the threads?