1. 程式人生 > >多線程--thread

多線程--thread

多個 進入 col 網吧 個人 new int 有一個 內存

多線程

進程:進程指正在運行的程序。確切的來說,當一個程序進入內存運行,即變成一個進程,進程是處於運行過程中的程序,並且具有一定獨立功能。

線程:線程是進程中的一個執行單元,負責當前進程中程序的執行,一個進程中至少有一個線程。一個進程中是可以有多個線程的,這個應用程序也可以稱之為多線程程序。

簡而言之:一個程序運行後至少有一個進程,一個進程中可以包含多個線程

主線程

jvm啟動後,必然有一個執行路徑(線程)從main方法開始的,一直執行到main方法結束,這個線程在java中稱之為主線程。

單線程多線程區別

l 單線程程序:即,若有多個任務只能依次執行。當上一個任務執行結束後,下一個任務開始執行。如,去網吧上網,網吧只能讓一個人上網,當這個人下機後,下一個人才能上網。

l 多線程程序:即,若有多個任務可以同時執行。如,去網吧上網,網吧能夠讓多個人同時上網。

Thread類

構造方法

Thread()

創建對象

Thread(String)

指定的線程名稱

方法

void Start();

開始線程執行

void run()

運行方法裏的內容

Static void sleep(long)

指定毫秒值暫時休息

Static thread currentTread();

執行當前的線程對象引用

thread(String name)

改變線程名字

實例

public class Demo01 {

public static void main(String[] args) {

//創建自定義線程對象

MyThread mt = new MyThread("新的線程!");

//開啟新線程

mt.start();

//在主方法中執行for循環

for (int i = 0; i < 10; i++) {

System.out.println("main線程!"+i);

}

}

}

l 自定義線程類

public class MyThread extends Thread {

//定義指定線程名稱的構造方法

public MyThread(String name) {

//調用父類的String參數的構造方法,指定線程的名稱

super(name);

}

/**

* 重寫run方法,完成該線程執行的邏輯

*/

@Override

public void run() {

for (int i = 0; i < 10; i++) {

System.out.println(getName()+":正在執行!"+i);

}

}

}

多線程--thread