1. 程式人生 > >java:多執行緒的基礎(引入)

java:多執行緒的基礎(引入)

* 1.什麼是執行緒
    * 執行緒是程式執行的一條路徑, 一個程序中可以包含多條執行緒
    * 多執行緒併發執行可以提高程式的效率, 可以同時完成多項工作
* 2.多執行緒的應用場景
    * 紅蜘蛛同時共享螢幕給多個電腦
    * 迅雷開啟多條執行緒一起下載
    * QQ同時和多個人一起視訊
    * 伺服器同時處理多個客戶端請求

*3.多執行緒(多執行緒並行和併發的區別)
* 並行就是兩個任務同時執行,就是甲任務進行的同時,乙任務也在進行。(需要多核CPU)
* 併發是指兩個任務都請求執行,而處理器只能按受一個任務,就把這兩個任務安排輪流進行,由於時間間隔較短,使人感覺兩個任務都在執行。
* 比如我跟兩個網友聊天,左手操作一個電腦跟甲聊,同時右手用另一臺電腦跟乙聊天,這就叫並行。
* 如果用一臺電腦我先給甲發個訊息,然後立刻再給乙發訊息,然後再跟甲聊,再跟乙聊。這就叫併發。

*4.多執行緒(Java程式執行原理和JVM的啟動是多執行緒的嗎)

* A:Java程式執行原理
    * Java命令會啟動java虛擬機器,啟動JVM,等於啟動了一個應用程式,也就是啟動了一個程序。該程序會自動啟動一個 “主執行緒” ,然後主執行緒去呼叫某個類的 main 方法。
    
* B:JVM的啟動是多執行緒的嗎
    * JVM啟動至少啟動了垃圾回收執行緒和主執行緒,所以是多執行緒的。

public class Demo1_Thread {
//  證明JVM是多執行緒的
	public static void main(String[] args) {
		for(int i=0;i<1000000;i++) {
			new Demo();
		}
		for(int i=0;i<10000;i++) {
			System.out.println("我是主執行緒的執行程式碼");
		}
	}

}


class Demo{

	@Override
	public void finalize() {
		System.out.println("垃圾被清掃了");
	}
	
}

執行結果:

穿插執行的效果,new Demo執行的時候,主方法也在執行