Sail E0 Webinar
Question

public class MyRunnable implements Runnable
{
public void run()
{
// some code here
}
}


which of these will create and start this thread?


Options:
A .  new Runnable(MyRunnable).start();
B .  new Thread(MyRunnable).run();
C .  new Thread(new MyRunnable()).start();
D .  new MyRunnable().start();
Answer: Option C

Because the class implements Runnable, an instance of it has to be passed to the Thread 

constructor, and then the instance of the Thread has to be started.

A is incorrect. There is no constructor like this for Runnable because Runnable is an interface,

 and it is illegal to pass a class or interface name to any constructor.

B is incorrect for the same reason; you can't pass a class or interface name to any constructor.

D is incorrect because MyRunnable doesn't have a start() method, and the only start() method

 that can start a thread of execution is the start() in the Thread class.



Was this answer helpful ?
Next Question

Submit Solution

Your email address will not be published. Required fields are marked *

Latest Videos

Latest Test Papers