How to make a Runnable start a new Thread at the time of instance creation?

.. in other words from within the constructor!

Main.java
public class Main {
    public static void main(String[] args) {
        final Runnable myRunnable = new MyRunnableClass();
        ThreadSleeper.sleepMillisIgnoreInterrupt(200);
        System.out.println("Hello from main thread..!");
    }
}
 
class MyRunnableClass implements Runnable {
 
    final Thread selfThread;
 
    public MyRunnableClass() {
        selfThread = new Thread(this);
        selfThread.start();
    }
 
    @Override
    public void run() {
        for (int i = 0; i < 10; i++) {
            ThreadSleeper.sleepMillisIgnoreInterrupt(50);
            System.out.println("I am running..");
        }
    }
}
 
class ThreadSleeper {
    public static void sleepMillisIgnoreInterrupt(final int millis) {
        try {
            Thread.sleep(millis);    
        } catch (InterruptedException e) {
            // ignore!
        }        
    }
}

here is the output..
MacBook-Pro:~ koraytugay$ javac Main.java
MacBook-Pro:~ koraytugay$ java Main
I am running..
I am running..
I am running..
Hello from main thread..!
I am running..
I am running..
I am running..
I am running..
I am running..
I am running..
I am running..