Day12_60_多線程的建立和啓動(一)

多線程的建立和啓動

*  在java語言中實現多線程的第一種方式, 繼承 java.lang.Thread; 以後重寫run()方法。

 *  使用多線程以後,主線程和其餘線程是不在同一個棧中的,一個線程對應一個棧。

 *  main方法會自動建立一個主線程,main方法結束只是表明主線程的棧彈空了,沒有棧幀了, 可是其餘線程的棧中可能還有棧幀,還會繼續執行。



  package com.shige.Thread;

  /*
   在java語言中實現多線程的第一種方式, 繼承 java.lang.Thread; ,重寫run()方法。

   使用多線程以後,主線程和其餘線程不在同一個棧中,一個線程對應一個棧,main方法結束只是主線程的棧彈空了,沒有棧幀了,可是其餘線程的棧中可能還有棧幀,還會繼續執行。
   */
  public class ThreadTest0 {
      public static void main(String[] args) {

          //建立線程
          Thread thread=new Processor(); //父類引用指向子類對象


          //啓動線程,告訴JVM再分配一個棧給thread線程
          //run()方法不須要手動調用,線程啓動後會自動調用
            thread.start();


          //若是直接調用thread.run();方法,那就是普通的調用了一個方法,沒有產生新的線程,程序仍是單線程的只有一個主線程,會按程序順序執行,不會交叉執行了。

         // thread.run();

          //該for循環在主線程中運行
          for (int i = 0; i <10 ; i++) {
              System.out.println("main---->"+i);
              
          }

      }


  }

  //定義一個線程
  class Processor extends Thread{  //繼承 java.lang.Thread;

      //重寫run()方法,該方法運行在新建立的線程中。
      public void run(){
          for (int i = 0; i < 10; i++) {
              System.out.println("run---->"+i);

          }
      }

  }
相關文章
相關標籤/搜索