Query in Threads Join
<p><strong>I am confused uisng joins method in Threads
Could somebody please explain 
I have read that the Parent Thread would wait for its
child Thread , until the child completes its operation</strong> </p>

<p>I have  a Parent Thread as shown :</p>

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

    public void run() {

        System.out.println("Hi");

    }

    public static void main(String[] args) throws Exception {
        join j1 = new join();
        Thread parent = new Thread(j1);

        child c = new child();

        Thread child = new Thread(c);

        parent.start();
        child.start();
        parent.join();

    }
}
</code></pre>

<p><strong>Child Thread :</strong></p>

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


            public void run() {
                    try {
                        Thread.currentThread().sleep(100000);
                    } catch (InterruptedException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                            System.out.println("i m child");

            }


}
</code></pre>

<p><strong>Upon executing this , the output is</strong> </p>

<p>Hi</p>

<p>i m child</p>

<p><strong>As per my understanding it should be in the reverse order</strong> </p>

<p>i m child</p>

<p>Hi</p>

<p>Please correct me if i am wrong</p>
