首先需要理解執行緒是什麼東西,說執行緒之前又必須知道程序的意思。程序:乙個正在執行的程式,而每乙個正在執行的程式中
都會有一定的執行順序,該順序叫執行路徑,或者控制單元,又叫做執行緒,每個執行程式中至少有乙個執行緒。
執行緒和cpu之間的關係並不是同時進行,乙個cpu乙個時間點只能執行乙個執行緒,那為什麼任務管理器中有那麼多程序呢?
因為這些執行緒他們是一直在「爭搶」cpu的控制權,沒出錯,是「爭搶」,哪個執行緒此時搶到了cpu的控制權,cpu此時就處
理這個執行緒,但可能下一秒控制權就被別的執行緒給搶走了。那麼這麼搶又有什麼意義呢?因為這麼「搶」,cpu根據一定的執行緒排程演算法,頻繁的進行執行緒切換,是能提高cpu的利用率的
且不會讓你在進行乙個程式的時候,電腦就不動了,只能執行完乙個程式後才能執行另乙個程式。
多執行緒就是這種思想。乙個執行程式有多個執行緒,目的就是為了提高效率,並使你在進行乙個功能時能同時進行另外乙個功能,
例如360你可以在防毒的時候進行磁碟清理,而不是等乙個功能做完之後才進行下乙個功能。執行緒與執行緒之間也會「搶」執行資源
舉個建立兩個新執行緒和預設執行緒同時執行的小例子:
由執行結果可見,三個執行緒一直在互相「爭奪」執行資源,所以才會出現這種結果。本渣渣才開始看,可能這只是多執行緒的眾多好處中的一種,所以加了個 .1 之後學習中如果還有重要的需要理解的好處,會繼續寫下來。
以上。
java 多執行緒1
public class threadtest extends thread thread.sleep 100 system.out.println this.getname i catch interruptedexception e public static void main string ...
Java多執行緒(1)
程序 process 是計算機中的程式關於某資料集合上的一次執行活動,是系統進行資源分配和排程的基本單位,是作業系統結構的基礎。在早期面向程序設計的計算機結構中,程序是程式的基本執行實體 在當代面向執行緒設計的計算機結構中,程序是執行緒的容器。程式是指令 資料及其組織形式的描述,程序是程式的實體。所...
Java 多執行緒1
程序 執行著的應用程式 程序之間的記憶體不是共享的。多執行緒 在單個程序中同時執行多個執行緒完成不同的工作。關於多執行緒 1 程序內併發執行的 段 單核cpu巨集觀上並行,微觀上還是序列 2 執行緒之間共享記憶體 3 主要用於建立靈活相應的桌面程式 4 每個執行著的執行緒對應乙個stack 5 每個...