Java Runnable Interface Solution : <p>Can some one please explain the below Code</p>

<pre><code>public class TestThread implements Runnable {

    public static void main(String[] args) {
        Thread thread = new Thread(new TestThread());
        thread.start();
        System.out.println("1");
        thread.run();
        System.out.println("2");

    }

    @Override
    public void run() {
        System.out.println("3");
    }
}
</code></pre>

<p>The output results in 1 3 3 2.Can some one please explain.</p>

<p>Thanks in Advance</p>
