java:多執行緒的基礎(引入)
阿新 • • 發佈:2018-11-22
* 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執行的時候,主方法也在執行