Difficulty: Easy
Correct Answer: new Thread(new MyRunnable()).start();
Explanation:
Introduction / Context:
There are two common ways to create threads in Java: extend Thread or implement Runnable. This question focuses on the Runnable approach.
Given Data / Assumptions:
MyRunnable implements Runnable and overrides run().
Concept / Approach:
To execute a Runnable on a new thread, wrap the Runnable in a Thread and call start() on the Thread instance.
Step-by-Step Solution:
Thread with the Runnable: new Thread(new MyRunnable()).2) Call start() to spawn the new thread; the JVM then calls run() on that thread.
Verification / Alternative check:
Calling run() directly executes on the current thread, not a new one.
Why Other Options Are Wrong:
Runnable is an interface, not a constructor parameter like that.run() directly on the new Thread object constructed with a type token (also invalid usage).Runnable has no start() method.
Common Pitfalls:
Confusing start() with run() and trying to call start() on a Runnable instead of a Thread.
Final Answer:
new Thread(new MyRunnable()).start();
Discussion & Comments