java多線程之---線程與進程(一)

進程與線程的概念

java的最大的特色就是支持多線程編程
我們在學習java的多線程編程之前我們要搞搞清楚什麼是線程,什麼是進程。
進程:操作系統中一個程序的執行週期成爲一個進程。在一個操作系統中,每個對執行的程序都可以稱爲一個進程。
在DOS系統時代,由於其本身就是一本單進程的操作系統,所以在同一時間段只有一個程序執行。
後來發展到Windows系統後,我們發現多個程序可以同時執行,所以windows是一個多進程的操作系統。
線程:一個程序同時執行多個任務,通常,每一個任務就是一個線程,與進程相比較,線程更“輕量級”,創建、撤銷一個線程比啓動一個新進程開銷要小的多,沒有進程就沒有線程,進程一旦終止,其內的線程也將不復存在。
多進程與多線程區別:本質區別在於,每個進程擁有自己的一整套的變量,而線程則共享數據。共享變量使得線程之間的通信比進程之間的通信更加的有效方便。
進程是資源調度的最基本的單位,線程是通信的最基本的單位。
那麼,我們的多線程究竟表現在哪裏呢?
在實際應用中,多線程的應用非常有用,例如,一個瀏覽器可以同時下載多個圖片,音樂,再比如我麼的 QQ 和微信,既可以接收消息,也可以發送消息,我們現在的各種視頻音頻可以在觀看的同時發送評論,等等這些都是我們的多線程。

線程狀態

在這裏插入圖片描述
這裏我畫了一個我們線程的狀態轉換圖,是比較簡單基礎的,在圖中也列舉了一些比較常見的會造成線程狀態轉變的例子,比較基礎,寶寶們好好學習,加油哦

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章