Discussion :: Threads
-
public class MyRunnable implements Runnable{public void run(){// some code here}}which of these will create and start this thread?
|
A.
new Runnable(MyRunnable).start(); |
|
B.
new Thread(MyRunnable).run(); |
|
C.
new Thread(new MyRunnable()).start(); |
|
D.
new MyRunnable().start(); |
Answer : Option C
Explanation :
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.
Be The First To Comment

Whatsapp
Facebook