進程和線程和多線程的區別與聯繫

  • 進程是操作系統分配資源的最小單位,線程是進程的最小單元
  • 一個進程由一個或多個線程組成,,線程是一個進程中代碼的不同執行路線
  • 進程之間相互獨立,但同一進程下的各個線程之間共享程序的資源,某進程內的線程在其他進程不可見;
  • 調度和切換:線程上下文切換比進程上下文切換要快得多
  • 多線程是指程序中包含多個執行流,即在一個程序中可以同時運行多個不同的線程來執行不同的任務,也就是說允許單個程序創建多個並行執行的線程來完成各自的任務。

多線程的好處:
可以提高CPU的利用率。在多線程程序中,一個線程必須等待的時候,CPU可以運行其它的線程而不是等待,這樣就大大提高了程序的效率。

進程和線程的組成:

進程:由內存空間(代碼,數據,進程空間,打開的文件)和一個或多個線程組成.
線程:由線程ID,當前指令指針PC,寄存器和堆棧組成。
在這裏插入圖片描述
單線程和多線程的區別:

多線程是指程序中包含多個執行流,即在一個程序中可以同時運行多個不同的線程來執行不同的任務,
也就是說允許單個程序創建多個並行執行的線程來完成各自的任務。

生活舉例
你早上上班,正要打卡的時候,手機響了。。你如果先接了電話,等接完了,在打卡,就是單線程。
如果你一手接電話,一手打卡。就是多線程。
2件事的結果是一樣的。。你接了電話且打了卡。

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