Examveda

Which of the following will ensure the thread will be in running state?

A. yield()

B. notify()

C. wait()

D. Thread.killThread()

E. None of these

Answer: Option E

Solution (By Examveda Team)

Let's understand this question about threads in Java!
The question asks us which of the given options will guarantee that a thread is in the running state.
Option A: yield()
yield() suggests to the Java Virtual Machine (JVM) that the current thread is willing to relinquish its current use of a processor.
The JVM is free to ignore this suggestion. It doesn't *guarantee* the thread will stay running or give up the processor; it just offers a hint.
Option B: notify()
notify() is used for inter-thread communication.
It wakes up a single thread that is waiting on the object's monitor.
It doesn't directly put a thread into the running state; it makes a waiting thread *eligible* to run, but it might have to wait its turn.
Option C: wait()
wait() causes the current thread to *relinquish* the lock and enter the waiting state.
The thread only becomes *eligible* to run again when another thread calls notify() or notifyAll() on the same object.
So, wait() definitely does *not* ensure the thread is in the running state; it does the opposite!
Option D: Thread.killThread()
There is no standard Thread.killThread() method in Java for directly killing a thread in a safe way.
This method is not a part of Java Thread API.
Option E: None of these
Since none of the options guarantees that a thread is in a running state by their use,
hence Option E is correct
Therefore, the answer is Option E: None of these.

This Question Belongs to Java Program >> Threads

Join The Discussion

Comments (1)

  1. Ganesh Commn
    Ganesh Commn:
    2 months ago

    None of the options ensure a thread will be in the running state

Related Questions on Threads

What is a thread in Java?

A. A lightweight process that runs independently within a program

B. A data structure to store variables

C. A type of loop

D. A synchronization mechanism