Java中的多線程(進程和線程)

進程:正在運行的程序。是系統進行資源分配和調用的獨立單位。

          每一個進程都有它自己的內存空間和系統資源。

線程:進程中的單個順序控制流,是一條執行路徑。

          一個進程有一條(多條)執行路徑,則稱爲單線程(多線程)程序。

併發:邏輯上同時發生,某個時間內同時運行多個程序。

並行:物理上同時發生,某個時間點同時運行多個程序。

注意:

  • 一個進程中的多個線程是併發運行的,線程的執行順序取決於CPU的調度,從而造成了多線程的隨機性。
  • jvm虛擬機的啓動也是多線程的,最低啓動兩個線程,即垃圾回收線程和主線程。(即Java程序運行時至少會啓動兩個線程)
  • 一般在開發多任務運行時,考慮創建多線程而不是多進程。
  • 進程之間不能共享內存,而線程可以。
  • 多線程同步完成多個任務,不是爲了提高程序運行效率,而是提高資源使用效率來提高系統效率。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章