通过扩展线程类来创建多个线程

时间:2013-10-02 05:44:59

标签: java multithreading

我想知道如何通过“扩展Thread类”来创建多个线程。我知道如何使用“Runnable”完成它。请告诉我如何通过“扩展Thread类”来完成它。

1 个答案:

答案 0 :(得分:8)

主要方法

public class ThreadDemo 
{   

  public static void main(String args[])    
  {         

    //Creating an object of the first thread        
    FirstThread   firstThread = new FirstThread();              

    //Creating an object of the Second thread       
    SecondThread   secondThread = new SecondThread();               

    //Starting the first thread         
    firstThread.start();                

    //Starting the second thread        
    secondThread.start();   
  } 
}
  

通过扩展“Thread”类,该类成为一个线程。

public class FirstThread extends Thread 
{ 
  //This method will be executed when this thread is executed 
  public void run() 
  { 

    //Looping from 1 to 10 to display numbers from 1 to 10 
     for (int i=1; i<=10; i++) 
     { 
        //Displaying the numbers from this thread 
        System.out.println( "Messag from First Thread : " +i); 

        /*taking a delay of one second before displaying next number 
        * 
        * "Thread.sleep(1000);" - when this  statement is executed, 
        * this thread will sleep for 1000  milliseconds (1 second) 
        * before executing the next statement. 
        * 
        * Since  we are making this thread to sleep for one second, 
        * we need to handle  "InterruptedException". Our thread 
        * may throw this exception if it is  interrupted while it 
        * is sleeping. 
        * 
        */
        try
        { 
           Thread.sleep(1000); 
        } 
        catch (InterruptedException  interruptedException) 
        { 
          /*Interrupted exception will be thrown when a sleeping or  waiting 
          * thread is interrupted. 
          */
          System.out.println(  "First Thread is interrupted when it is  sleeping" +interruptedException); 
        } 
      } 
   }
  

通过扩展“Thread”类,该类成为一个线程。

public class SecondThread extends Thread 
{   

  //This method will be executed when this thread is executed   
  public void run()     
  {             
    //Looping from 1 to 10 to display numbers from 1 to 10      
    for (int i=1; i<=10; i++)        
    {           
       System.out.println( "Messag from Second Thread : " +i);                      
       /*taking a delay of one second before displaying next number
       * "Thread.sleep(1000);" - when this statement is executed,
       * this thread will sleep for 1000 milliseconds (1 second) 
       * before executing the next statement.             
       *              
       * Since we are making this thread to sleep for one second,
       * we need to handle "InterruptedException". Our thread
       * may throw this exception if it is interrupted while it 
       * is sleeping.             
       */          
       try         
       {                
          Thread.sleep (1000);          
       }            
       catch (InterruptedException interruptedException)            
       {                
          /*Interrupted exception will be thrown when a sleeping or waiting
           *thread is interrupted.               
           */              
           System.out.println( "Second Thread is interrupted when it is sleeping" +interruptedException);           
       }        
    }   
  }
}

请查看参考编号{Threading using Extend以获取完整的详细信息。如需快速阅读,我可以通过上述参考文献发布代码