線程和進程的區別,用線程和進程分析java程序的運行

/*
線程和進程
1、什麼是進程?
一個進程對應一個應用程序,現在的計算機都是支持
多進程的,在同一個操作系統中,可以同時啓動多個進程。
2、多進程有什麼作用?
單進程計算機只能做一件事情,對於單核計算機,在同一個時間點上,
遊戲進程和音樂進程是在同時運行嗎?不是,因爲計算機的CPU只能在某個時間點做一件事。
其實是在頻繁的切換應用程序,因爲計算機處理速度高,所以人感覺不到切換和間斷。
不是提高執行速度,是提高CPU的使用率。
進程和進程之間的內存是獨立的。
3、什麼是線程?
線程是一個進程中的執行場景,一個進程 可以啓動多個線程。
4、多線程有什麼作用?
多線程不是爲了提高執行速度,而是提高應用程序的使用率。
線程和線程共享“堆內存和方法區內存”,棧內存是獨立的。一個線程一個棧。
可以給現實世界中的人類一種錯覺,感覺多個線程在同時併發執行。
5、java程序的運行原理
java命令會啓動java虛擬機,等於啓動了一個應用程序。該進程會自動啓動一個“主線程”,
然後主線程去調用某個類的main方法,所以main方法運行在主線程中,在此之前的所有程序都是單線程的。


*/


/*
分析以下的程序有幾個進程?
以下程序只有一個線程:主線程
線程中的棧是獨立的,main,m1,m2,m3方法都在一個棧空間中,所以只對應一個線程。


*/
class  
{
public static void main(String[] args) 
{
System.out.println("Hello World!");
m1();
}


public static void m1(){
m2();
}


public static void m3(){
System.out.println("m3");
}
}
發佈了110 篇原創文章 · 獲贊 8 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章