简单了解线程和进程、多进程和多线程、并发和并行的区别
生活随笔
收集整理的這篇文章主要介紹了
简单了解线程和进程、多进程和多线程、并发和并行的区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一:線程與進程
1.概念
線程:是程序執行流的最小單元,是系統獨立調度和分配CPU(獨立運行)的基本單位。
進程:是資源分配的基本單位。一個進程包括多個線程。
2.區別:
1.線程與資源分配無關,它屬于某一個進程,并與進程內的其他線程一起共享進程的資源。
2.每個進程都有自己一套獨立的資源(數據),供其內的所有線程共享。
3.不論是大小,開銷線程要更“輕量級”
4.一個進程內的線程通信比進程之間的通信更快速,有效。(因為共享變量)
二.多線程與多進程
多線程:同一時刻執行多個線程。用瀏覽器一邊下載,一邊聽歌,一邊看視頻,一邊看網頁。。。
多進程:同時執行多個程序。如,同事運行微信,QQ,以及各種瀏覽器。
三.并發與并行
1.并發當有多個線程在操作時,如果系統只有一個CPU,則它根本不可能真正同時進行一個以上的線程,它只能把CPU運行時間劃分成若干個時間段,再將時間 段分配給各個線程執行,在一個時間段的線程代碼運行時,其它線程處于掛起狀。.這種方式我們稱之為并發(Concurrent)。
2.并行:當系統有一個以上CPU時,則線程的操作有可能非并發。當一個CPU執行一個線程時,另一個CPU可以執行另一個線程,兩個線程互不搶占CPU資源,可以同時進行,這種方式我們稱之為并行(Parallel)。
總結
以上是生活随笔為你收集整理的简单了解线程和进程、多进程和多线程、并发和并行的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ASCII码十六进制转换表
- 下一篇: 帆软之使用FineTube将其他来源数据