Friday, December 30, 2011

Create New Thread Using Runnable

package org.best.example;

    /*
            Create New Thread Using Runnable Example
            This Java example shows how to create a new thread by implementing
            Java Runnable interface.
    */
    
    /*
     * To create a thread using Runnable, a class must implement
     * Java Runnable interface.
     */
    public class CreateThreadRunnableExample implements Runnable{
    
            /*
             * A class must implement run method to implement Runnable
             * interface. Signature of the run method is,
             *
             * public void run()
             *
             * Code written inside run method will constite a new thread.
             * New thread will end when run method returns.
             */
            public void run(){
                  
                    for(int i=0; i < 5; i++){
                            System.out.println("Child Thread : " + i);
                          
                            try{
                                    Thread.sleep(50);
                            }
                            catch(InterruptedException ie){
                                    System.out.println("Child thread interrupted! " + ie);
                            }
                    }
                  
                    System.out.println("Child thread finished!");
            }
          
            public static void main(String[] args) {
                  
                    /*
                     * To create new thread, use
                     * Thread(Runnable thread, String threadName)
                     * constructor.
                     *
                     */
                  
                    Thread t = new Thread(new CreateThreadRunnableExample(), "My Thread");
                  
                    /*
                     * To start a particular thread, use
                     * void start() method of Thread class.
                     *
                     * Please note that, after creation of a thread it will not start
                     * running until we call start method.
                     */
                  
                    t.start();
                  
                    for(int i=0; i < 5; i++){
                          
                            System.out.println("Main thread : " + i);
                          
                            try{
                                    Thread.sleep(100);
                            }
                            catch(InterruptedException ie){
                                    System.out.println("Child thread interrupted! " + ie);
                            }
                    }
                    System.out.println("Main thread finished!");
            }
    }
    
    /*
    Typical output of this thread example would be
    
    Main thread : 0
    Child Thread : 0
    Child Thread : 1
    Main thread : 1
    Main thread : 2
    Child Thread : 2
    Child Thread : 3
    Main thread : 3
    Main thread : 4
    Child Thread : 4
    Child thread finished!
    Main thread finished!
    
    */

No comments: