2013-10-02 111 views
-2

我想知道如何通過「擴展線程類」創建多個線程。我知道它是如何使用「Runnable」完成的。請告訴我如何通過「擴展線程類」來完成。通過擴展線程類創建多個線程

+0

你爲什麼不告訴我們你已經嘗試什麼,然後我們可以幫你發佈的代碼。 –

+0

我是java的初學者。我不知道它是如何完成的。我在開始時出現問題 – Aadithya

+1

您可以在這裏找到:http://docs.oracle.com/javase/tutorial/essential/concurrency/runthread.html –

回答

7

主要方法

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(); 
    } 
} 

這個類是通過擴展 「主題」 類做成一個線程。

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); 
     } 
     } 
    } 

這個類是通過擴展 「主題」 類做成一個線程。

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完整的細節,對於快速閱讀我米距離上述基準