多線程的建立和啓動
* 在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);
}
}
}